all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Markus Triska <triska@metalevel.at>, martin rudalics <rudalics@gmx.at>
Cc: 67715@debbugs.gnu.org
Subject: bug#67715: 28.2; Minibuffer content is sometimes unexpectedly partially hidden
Date: Sun, 10 Dec 2023 07:44:34 +0200	[thread overview]
Message-ID: <83jzpmwr0d.fsf@gnu.org> (raw)
In-Reply-To: <87y1e3axo9.fsf@metalevel.at> (message from Markus Triska on Sat,  09 Dec 2023 22:11:34 +0100)

> From: Markus Triska <triska@metalevel.at>
> Cc: 67715@debbugs.gnu.org
> Date: Sat, 09 Dec 2023 22:11:34 +0100
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > I'm not sure I understood, but if you put a face on some text, and
> > then type at the end of that text, the additional text you type is
> > supposed to "inherit" that face, no?
> 
> I mean: When my program runs, I do not type anything myself, but the
> program simulates that something is being typed by me. For example, when
> I ask the program to perform one step, it may simulate that M-x is
> pressed, by inserting the text "M-x " in the minibuffer, and then wait
> for further instructions (by me). When I then ask the program to perform
> the next step, it may simulate that "emacs-uptime" is being typed, and
> thus incrementally add the letters "e", "m", "a", ... to the minibuffer
> while waiting for a short amount of time after each letter, until (in
> total) "M-x emacs-uptime" appears in the minibuffer. The goal is that we
> can simulate the effects of typing while minimizing manual effort.
> 
> This all already works as expected in Emacs versions before 28.2, and it
> works to a large extent also in later versions. The only remaining
> problem I have with Emacs 28.2 and later versions is that in situations
> like the one I posted, the minibuffer is no longer adequately grown to
> fully display the text it contains (because the program wrote it there).
> 
> With your snippet, I can work around a very specific case of this, where
> a single string is shown in the minibuffer. For my use case though, this
> is not yet enough, because my program simulates manual edits by changing
> text in the minibuffer, such as adding or removing individual letters.

You could perhaps use 'message'.  Here's a trivial demo:

  (defun my-msg ()
    (interactive)
    (message (propertize "something" 'face '(:height 2.0))))
  (defun my-msg2 ()
    (interactive)
    (message (propertize "something else" 'face '(:height 2.0))))
  (global-set-key [f5] 'my-msg)
  (global-set-key [f6] 'my-msg2)

Evaluate the above, then press F5 followed by F6.

> I am therefore interested in ways to grow the minibuffer so that it is
> large enough, while allowing very flexible editing operations to be
> simulated in it that go beyond showing a single string.

I'm showing you all the methods I can come up with.  Maybe Martin or
others will have better ideas (so please don't elide their addresses
when replying).





  reply	other threads:[~2023-12-10  5:44 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-08 19:03 bug#67715: 28.2; Minibuffer content is sometimes unexpectedly partially hidden Markus Triska
2023-12-08 20:35 ` Eli Zaretskii
2023-12-09  7:04   ` Markus Triska
2023-12-09  7:59     ` Eli Zaretskii
2023-12-09  9:04       ` Markus Triska
2023-12-09 11:18         ` Eli Zaretskii
2023-12-10  8:12           ` Markus Triska
2023-12-10  9:27             ` Eli Zaretskii
2023-12-11 17:12           ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-01-14  7:43             ` Markus Triska
2024-01-14  8:49               ` martin rudalics via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-12-09 17:02         ` Eli Zaretskii
2023-12-09 20:09           ` Markus Triska
2023-12-09 20:20             ` Eli Zaretskii
2023-12-09 21:11               ` Markus Triska
2023-12-10  5:44                 ` Eli Zaretskii [this message]
2023-12-10 17:59                   ` Markus Triska

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=83jzpmwr0d.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=67715@debbugs.gnu.org \
    --cc=rudalics@gmx.at \
    --cc=triska@metalevel.at \
    /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.