From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
To: Andrii Kolomoiets <andreyk.mad@gmail.com>
Cc: Eli Zaretskii <eliz@gnu.org>,
spacibba@aol.com, monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: [PATCH] Support "\n" in icomplete-separator
Date: Tue, 10 Nov 2020 18:18:33 +0000 [thread overview]
Message-ID: <alpine.NEB.2.22.394.2011101841100453.28524@sdf.lonestar.org> (raw)
In-Reply-To: <m2imad6sh1.fsf@gmail.com>
>
> (defvar o (make-overlay 0 0 nil t t))
> (minibuffer-with-setup-hook
> (lambda ()
> (set (make-local-variable 'face-remapping-alist)
> '((default :height 1.3)))
> (move-overlay o (point) (point) (current-buffer))
> (let ((text (mapconcat
> #'identity
> '("Some" "text" "that" "will" "not" "fit"
> "the" "minibuffer" "window")
> "\n")))
> (put-text-property 0 1 'cursor t text)
> (overlay-put o 'after-string text)))
> (read-string "Multiline\nprompt: "))
>
This is one of the cases where it does not work, indeed. Another one is
(again with emacs -Q):
(let (w bd)
(setq w 60)
(setq bd (concat (temporary-file-directory) (make-string w ?a) "/"))
(dolist (d '("a" "b" "c" "d" "e")) (make-directory (concat bd d) t))
(setq default-directory bd)
(set-frame-height nil 20)
(set-frame-width nil (+ (length bd) 10))
(icomplete-mode)
(setq icomplete-separator "\n")
(call-interactively 'insert-file))
>
> Is it possible to make the prompt visible?
>
Yes it is. As I already told you, to make the prompt visible in all cases
(when it is not impossible to make it visible) it is necessary to ask
redisplay to start displaying at the beginning of the buffer. I provided
short and simple Lisp-only solution for this:
(defvar-local start-display-at-beginning-of-minibuffer nil)
(defun start-display-at-beginning-of-minibuffer (&rest args)
(when (and start-display-at-beginning-of-minibuffer (minibufferp))
(set-window-start-at-begin (point-min) (point))))
(defun set-window-start-at-begin (beg end)
(when (< (+ beg 2) end)
(set-window-start nil beg)
(unless (pos-visible-in-window-p end nil t)
(set-window-start-at-begin (+ beg (/ (- end beg) 2)) end))))
(add-hook 'window-scroll-functions #'start-display-at-beginning-of-minibuffer)
(add-hook 'post-command-hook #'start-display-at-beginning-of-minibuffer)
Just add (setq start-display-at-beginning-of-minibuffer t) in your
minibuffer-with-setup-hook lambda, and it will work as you expect it to
work.
As I said a few days ago in the "Feature branches review please" thread,
the problem of this solution is that Eli doesn't like it. He thinks
another solution, using a text property that would be put on the prompt,
should be implemented. Stefan thinks yet another solution, using the
buffer redisplay routines instead of using a specific redisplay code for
minibuffers, should be used.
>
> Should I file bug report for this?
>
I think you should read the other relevant bug reports first (bug#24293,
bug#39379, bug#43519 and bug#43572). AFAIU the remaining 1% cases which
are demonstrated by the two above recipes are not considered important
enough to be classified as "bugs", so it is more a "feature request".
next prev parent reply other threads:[~2020-11-10 18:18 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-05 23:10 [PATCH] Support "\n" in icomplete-separator Andrii Kolomoiets
2020-11-05 23:29 ` Stefan Monnier
2020-11-06 0:04 ` Ergus
2020-11-06 2:44 ` Stefan Monnier
2020-11-06 8:42 ` Gregory Heytings via Emacs development discussions.
2020-11-06 10:26 ` Andrii Kolomoiets
2020-11-05 23:57 ` Ergus
2020-11-06 8:43 ` Gregory Heytings via Emacs development discussions.
2020-11-06 12:36 ` Andrii Kolomoiets
2020-11-06 15:15 ` Ergus
2020-11-08 20:14 ` Andrii Kolomoiets
2020-11-08 20:30 ` Gregory Heytings via Emacs development discussions.
2020-11-08 20:36 ` Andrii Kolomoiets
2020-11-09 3:28 ` Eli Zaretskii
2020-11-09 21:04 ` Andrii Kolomoiets
2020-11-10 15:13 ` Eli Zaretskii
2020-11-10 17:18 ` Andrii Kolomoiets
2020-11-10 18:18 ` Gregory Heytings via Emacs development discussions. [this message]
2020-11-11 9:41 ` Andrii Kolomoiets
2020-11-10 18:23 ` Eli Zaretskii
2020-11-10 19:17 ` Gregory Heytings via Emacs development discussions.
2020-11-10 19:27 ` Eli Zaretskii
2020-11-10 20:00 ` Gregory Heytings via Emacs development discussions.
2020-11-10 21:09 ` Andrii Kolomoiets
2020-11-11 8:27 ` martin rudalics
2020-11-11 9:07 ` Gregory Heytings via Emacs development discussions.
2020-11-11 15:57 ` Jean Louis
2020-11-11 9:38 ` Andrii Kolomoiets
2020-11-11 10:01 ` martin rudalics
2020-11-11 10:21 ` Gregory Heytings via Emacs development discussions.
2020-11-11 10:53 ` martin rudalics
2020-11-11 11:22 ` Gregory Heytings via Emacs development discussions.
2020-11-11 15:49 ` martin rudalics
2020-11-11 15:57 ` Eli Zaretskii
2020-11-11 16:16 ` Jean Louis
2020-11-11 17:06 ` martin rudalics
2020-11-11 17:28 ` Gregory Heytings via Emacs development discussions.
2020-11-11 16:05 ` Gregory Heytings via Emacs development discussions.
2020-11-11 17:06 ` martin rudalics
2020-11-11 17:26 ` Stefan Monnier
2020-11-11 17:37 ` Gregory Heytings via Emacs development discussions.
2020-11-11 15:32 ` Jean Louis
2020-11-11 15:26 ` Jean Louis
2020-11-11 16:06 ` Eli Zaretskii
2020-11-11 17:12 ` Gregory Heytings via Emacs development discussions.
2020-11-11 17:19 ` Alfred M. Szmidt
2020-11-11 17:44 ` Gregory Heytings via Emacs development discussions.
2020-11-11 17:50 ` Alfred M. Szmidt
2020-11-11 18:14 ` Eli Zaretskii
2020-11-11 18:09 ` Eli Zaretskii
2020-11-11 18:39 ` Gregory Heytings via Emacs development discussions.
2020-11-11 20:21 ` Eli Zaretskii
2020-11-11 20:37 ` Gregory Heytings via Emacs development discussions.
2020-11-11 21:55 ` Ergus
2020-11-11 22:26 ` Jean Louis
2020-11-11 22:59 ` Stefan Monnier
2020-11-12 3:28 ` Eli Zaretskii
2020-11-12 8:50 ` Gregory Heytings via Emacs development discussions.
2020-11-12 9:13 ` on helm substantial differences - " Jean Louis
2020-11-12 9:20 ` Gregory Heytings via Emacs development discussions.
2020-11-12 10:25 ` Jean Louis
2020-11-12 10:54 ` Gregory Heytings via Emacs development discussions.
2020-11-12 11:33 ` Jean Louis
2020-11-12 14:40 ` Gregory Heytings via Emacs development discussions.
2020-11-12 17:46 ` Jean Louis
2020-11-12 14:41 ` Eli Zaretskii
2020-11-12 17:49 ` Jean Louis
2020-11-12 17:58 ` Eli Zaretskii
2020-11-12 14:36 ` Eli Zaretskii
2020-11-12 15:05 ` Gregory Heytings via Emacs development discussions.
2020-11-12 15:36 ` Eli Zaretskii
2020-11-12 16:10 ` Gregory Heytings via Emacs development discussions.
2020-11-12 17:50 ` Eli Zaretskii
2020-11-13 12:40 ` Gregory Heytings via Emacs development discussions.
2020-11-13 12:59 ` Eli Zaretskii
2020-11-13 13:36 ` Gregory Heytings via Emacs development discussions.
2020-11-13 13:52 ` Eli Zaretskii
2020-11-13 15:09 ` Stephen Berman
2020-11-13 16:05 ` Eli Zaretskii
2020-11-13 17:31 ` Stephen Berman
2020-11-16 10:24 ` Gregory Heytings via Emacs development discussions.
2020-11-16 17:44 ` Eli Zaretskii
2020-11-17 11:51 ` Gregory Heytings via Emacs development discussions.
2020-11-12 7:58 ` martin rudalics
2020-11-12 8:52 ` Gregory Heytings via Emacs development discussions.
2020-11-12 14:37 ` Eli Zaretskii
2020-11-12 12:39 ` Dmitry Gutov
2020-11-12 19:31 ` Howard Melman
2020-11-12 20:02 ` ivy-posframe review - " Jean Louis
2020-11-11 14:09 ` Jean Louis
2020-11-11 15:51 ` Eli Zaretskii
2020-11-11 16:05 ` Jean Louis
2020-11-11 18:52 ` Drew Adams
2020-11-11 19:10 ` martin rudalics
2020-11-11 19:49 ` Drew Adams
2020-11-12 7:58 ` martin rudalics
2020-11-11 19:51 ` Drew Adams
2020-11-11 16:30 ` Eli Zaretskii
2020-11-12 22:51 ` Andrii Kolomoiets
2020-11-13 8:39 ` Eli Zaretskii
2020-11-13 12:56 ` Gregory Heytings via Emacs development discussions.
2020-11-13 13:02 ` Eli Zaretskii
2020-11-13 13:44 ` Gregory Heytings via Emacs development discussions.
2020-11-13 13:55 ` Eli Zaretskii
2020-11-16 10:25 ` Gregory Heytings via Emacs development discussions.
2020-11-16 17:40 ` Eli Zaretskii
2020-11-16 17:41 ` Stefan Monnier
2020-11-16 18:24 ` Eli Zaretskii
2020-11-17 11:51 ` Gregory Heytings via Emacs development discussions.
2020-11-17 14:05 ` Stefan Monnier
2020-11-13 19:27 ` Andrii Kolomoiets
2020-11-17 8:59 ` Gregory Heytings via Emacs development discussions.
2020-11-13 20:18 ` Andrii Kolomoiets
2020-11-14 6:17 ` Ergus
2020-11-14 20:36 ` Andrii Kolomoiets
2020-11-15 2:39 ` Ergus
2020-11-15 19:32 ` Andrii Kolomoiets
2020-11-10 20:01 ` Stefan Monnier
2020-11-06 5:52 ` Jean Louis
2020-11-06 12:40 ` Andrii Kolomoiets
2020-11-06 12:59 ` Jean Louis
2020-11-08 20:28 ` Andrii Kolomoiets
2020-11-08 20:50 ` Jean Louis
-- strict thread matches above, loose matches on Subject: below --
2020-11-06 16:30 Drew Adams
[not found] <<m2a6vv8ko3.fsf@gmail.com>
[not found] ` <<20201105235735.oxouuek66ehu5o45@Ergus>
[not found] ` <<m2y2je7jcx.fsf@gmail.com>
[not found] ` <<20201106151541.dpgep7borlja25su@Ergus>
[not found] ` <<m2d00n7gj4.fsf@gmail.com>
[not found] ` <<837dqv5huk.fsf@gnu.org>
[not found] ` <<m24klys0n2.fsf@gmail.com>
[not found] ` <<83mtzp2qj0.fsf@gnu.org>
[not found] ` <<m2imad6sh1.fsf@gmail.com>
[not found] ` <<83r1p11369.fsf@gnu.org>
[not found] ` <<m2a6vo7wcw.fsf@gmail.com>
[not found] ` <<ca240036-8493-968d-2204-620f430334b9@gmx.at>
[not found] ` <<m2sg9g5j2p.fsf@gmail.com>
[not found] ` <<fe70158f-d55a-010a-74ba-2f81d1bb7663@gmx.at>
[not found] ` <<837dqr27zs.fsf@gnu.org>
2020-11-11 19:03 ` Drew Adams
[not found] ` <<alpine.NEB.2.22.394.2011111803220453.17489@sdf.lonestar.org>
[not found] ` <<83361f22ah.fsf@gnu.org>
[not found] ` <<alpine.NEB.2.22.394.2011111926450453.27530@sdf.lonestar.org>
[not found] ` <<83sg9fzlto.fsf@gnu.org>
[not found] ` <<alpine.NEB.2.22.394.2011112128400453.4149@sdf.lonestar.org>
[not found] ` <<83r1ozz22j.fsf@gnu.org>
[not found] ` <<alpine.NEB.2.22.394.2011120932160453.28737@sdf.lonestar.org>
[not found] ` <<83d00izloj.fsf@gnu.org>
[not found] ` <<alpine.NEB.2.22.394.2011121544550453.26984@sdf.lonestar.org>
[not found] ` <<83361ezix2.fsf@gnu.org>
2020-11-12 17:42 ` 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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.NEB.2.22.394.2011101841100453.28524@sdf.lonestar.org \
--to=emacs-devel@gnu.org \
--cc=andreyk.mad@gmail.com \
--cc=eliz@gnu.org \
--cc=ghe@sdf.org \
--cc=monnier@iro.umontreal.ca \
--cc=spacibba@aol.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).