all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 43519@debbugs.gnu.org
Subject: bug#43519: 28.0.50; Overlay at end of minibuf hides minibuf's real content
Date: Sat, 19 Sep 2020 23:10:36 +0300	[thread overview]
Message-ID: <83r1qx1q9v.fsf@gnu.org> (raw)
In-Reply-To: <jwvh7rta7et.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Sat, 19 Sep 2020 15:42:12 -0400)

> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Cc: 43519@debbugs.gnu.org
> Date: Sat, 19 Sep 2020 15:42:12 -0400
> 
> > Seems like a bug in icomplete: it attempts to compute the maximum
> > length of candidates to be displayed, but seems like it fails, because
> > the single mini-window line is continued, with no ellipsis at the end
> > of the visible line?
> 
> I disagree: icomplete merely added text after point via an overlay and
> didn't do anything which explicitly justifies horizontal scrolling.

Maybe I'm missing something, but what does the code in
icomplete-completions that calls string-width and window-width try to
do, then?  I mean this part:

	     ;;"-prospects" - more than one candidate
	     (prospects-len (+ (string-width
				(or determ (concat open-bracket close-bracket)))
			       (string-width icomplete-separator)
			       (+ 2 (string-width ellipsis)) ;; take {…} into account
			       (string-width (buffer-string))))
             (prospects-max
              ;; Max total length to use, including the minibuffer content.
              (* (+ icomplete-prospects-height
                    ;; If the minibuffer content already uses up more than
                    ;; one line, increase the allowable space accordingly.
                    (/ prospects-len (window-width)))
                 (window-width)))

> I suspect the problem is that point is right on the overlay, so in
> a sense it's both before *and* after the "{...}" text.

The point is at EOB, and we have an overlay string there.  The overlay
string has a 'cursor' property on its first character, so the display
engine puts the cursor there.  Without that, we'd have the cursor at
the end of the overlay string, thus showing something even less
reasonable.

But I'm not sure how this is related to the issue at hand.

> > It should produce an overlay string that fits in the window, then the
> > prompt will be visible.
> 
> That would merely work around the underlying problem

What do you think is the underlying problem?

> (and as you know it's wickedly difficult to construct a string which
> will have "just the right size" to fit into the minibuffer window).

It doesn't have to be "just the right size", it could err on the safe
side.  It already attempts to do so, by avoiding truncation in the
middle of a candidate.  It should just do a better job, that's all.

> Maybe there's a good reason for the redisplay to behave this way

Behave in what way? what's special about what you see on display in
this case, given the contents of the mini-window's buffer?





  reply	other threads:[~2020-09-19 20:10 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-19 17:54 bug#43519: 28.0.50; Overlay at end of minibuf hides minibuf's real content Stefan Monnier
2020-09-19 18:52 ` Eli Zaretskii
2020-09-19 19:42   ` Stefan Monnier
2020-09-19 20:10     ` Eli Zaretskii [this message]
2020-09-19 22:06       ` Stefan Monnier
2020-09-20  8:52         ` Eli Zaretskii
2020-09-20 21:04           ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-20 21:31             ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21  6:50               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 14:17                 ` Eli Zaretskii
2020-09-21 15:02                   ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 15:33                     ` Eli Zaretskii
2020-09-21 15:44                       ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 16:10                         ` Eli Zaretskii
2020-09-21 16:27                           ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 17:30                             ` Eli Zaretskii
2020-09-21 18:42                               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 19:37                               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 19:37                               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22  6:57                               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22  6:57                               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22 14:11                                 ` Eli Zaretskii
2020-09-22 15:52                                   ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22 16:10                                     ` Eli Zaretskii
2020-09-22 21:01                                       ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 17:28                   ` Stefan Monnier
2020-09-21 17:47                     ` Eli Zaretskii
2020-09-21 18:45                       ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 19:37                       ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22  6:58                       ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22 14:14                         ` Eli Zaretskii
2020-09-21 14:04               ` Eli Zaretskii
2020-09-21 14:31                 ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 14:47                   ` Eli Zaretskii
2020-09-21 14:02             ` Eli Zaretskii
2020-09-21 14:18               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 14:45                 ` Eli Zaretskii
2020-09-21 15:26                   ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 15:39                     ` Eli Zaretskii
2020-09-21 16:00                       ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-20 22:40           ` Stefan Monnier
2020-09-21  7:04             ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 14:05             ` Eli Zaretskii
2020-09-21 17:25               ` Stefan Monnier
2020-09-21 17:45                 ` Eli Zaretskii
2020-09-21 19:17                   ` Stefan Monnier
2020-09-21 19:47                     ` Eli Zaretskii
2020-09-22  5:26                       ` Eli Zaretskii
2020-09-22 14:00                         ` Stefan Monnier
2020-09-22 14:02                         ` Eli Zaretskii
2020-09-22 15:51                           ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22 16:06                             ` Eli Zaretskii
2020-09-22 16:17                               ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22 16:47                                 ` Eli Zaretskii
2020-09-22 16:49                                 ` Eli Zaretskii
2020-09-22 20:06                                   ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-23  2:40                                     ` Eli Zaretskii
2020-09-23  7:15                                       ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-23 14:34                                         ` Eli Zaretskii
2020-09-21 20:05                     ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-21 20:49                     ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-23 18:35                       ` Stefan Monnier
2020-09-22  6:58                     ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-22  6:58                     ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-20  1:00 ` bug#43519: (no subject) Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-20  6:08   ` Eli Zaretskii
2020-09-20  8:27 ` bug#43519: 28.0.50; Overlay at end of minibuf hides minibuf's real content Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-20  9:03   ` Eli Zaretskii
2020-09-20 10:12     ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
2020-09-20 10:52       ` Eli Zaretskii
2020-09-20 19:50 ` Gregory Heytings via Bug reports for GNU Emacs, the Swiss army knife of text editors
     [not found] <<jwvft7dveii.fsf@iro.umontreal.ca>
     [not found] ` <<83wo0p1twr.fsf@gnu.org>
     [not found]   ` <<jwvh7rta7et.fsf-monnier+emacs@gnu.org>
     [not found]     ` <<83r1qx1q9v.fsf@gnu.org>
     [not found]       ` <<jwvzh5l8med.fsf-monnier+emacs@gnu.org>
     [not found]         ` <<838sd425l2.fsf@gnu.org>
     [not found]           ` <<jwvd02g5bnp.fsf-monnier+emacs@gnu.org>
     [not found]             ` <<83y2l3xm15.fsf@gnu.org>
     [not found]               ` <<jwvwo0n2hgh.fsf-monnier+emacs@gnu.org>
     [not found]                 ` <<83eemvxbvg.fsf@gnu.org>
     [not found]                   ` <<jwv363b2b48.fsf@iro.umontreal.ca>
     [not found]                     ` <<837dsmykrn.fsf@gnu.org>
     [not found]                       ` <<E1kKapF-0007yc-Mb@fencepost.gnu.org>
     [not found]                         ` <<831ritykni.fsf@gnu.org>
     [not found]                           ` <<alpine.NEB.2.22.394.2009221712130453.10035@sdf.lonestar.org>
     [not found]                             ` <<83k0wlx0cz.fsf@gnu.org>
     [not found]                               ` <<alpine.NEB.2.22.394.2009221808130453.16638@sdf.lonestar.org>
     [not found]                                 ` <<83d02dwyfa.fsf@gnu.org>
2020-09-22 20:03                                   ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83r1qx1q9v.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=43519@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.