unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: acm@muc.de, 58634@debbugs.gnu.org, akrl@sdf.org
Subject: bug#58634: Long delay with blank screen whilst loading desktop at emacs startup
Date: Thu, 20 Oct 2022 15:28:48 +0000	[thread overview]
Message-ID: <Y1FpMPmVNvxLQDD9@ACM> (raw)
In-Reply-To: <83czamy76j.fsf@gnu.org>

Hello, Eli.

On Thu, Oct 20, 2022 at 16:07:48 +0300, Eli Zaretskii wrote:
> > Date: Thu, 20 Oct 2022 10:55:40 +0000
> > Cc: akrl@sdf.org, 58634@debbugs.gnu.org, acm@muc.de
> > From: Alan Mackenzie <acm@muc.de>

> > > Because with Emacs 28 I use desktop.el all the time, and I do see the
> > > frame displaying some files and messages in the echo-area.

> > Remember, the blank screen only happens for me in emacs -nw and on the
> > linux console, not in GUI X.

> This has yet to be explained.  See below.

Yes.

> > > If the same happens for you with Emacs 28, I guess it's somehow
> > > related to your init files and/or what exactly is in your session.
> > > For example, my sessions always include some buffers under Text mode
> > > or its descendants, and those turn on Flyspell mode in my
> > > configuration; starting Flyspell mode launches the speller as a
> > > sub-process, and that usually triggers some form of redisplay.  In
> > > addition, I have garbage-collection-messages turned on, so GC-related
> > > messages are shown in the echo-area, which also is a kind of
> > > redisplay.  Restoring file buffers sometimes produces prompts, e.g. if
> > > the file is too large or there are local variables there that require
> > > confirmation -- and those prompts trigger redisplay as well.

> > > If you have none of that in your configuration, perhaps desktop.el can
> > > indeed produce a completely blank frame.  Although it sounds strange
> > > to me, since I never saw anything like that.  But it could be because
> > > I'm used to starting Emacs with my configuration.

> > All this supports my hypothesis (above).  Anything which is "slow"
> > causes a redisplay during desktop loading.  For each buffer loaded,
> > there is a switch-to-buffer call, so anything causing a redisplay will
> > display that buffer.

> I don't follow this reasoning.  Emacs is a single-threaded program, so
> redisplay or lack thereof cannot be explained by something being
> "slow".

I suppose it's more an observation (from instrumentation of the desktop
loading) than an explanation.  When a buffer takes longer than usual to
be read, the previous buffer sometimes gets displayed.

> Because once redisplay is triggered, it runs to completion, whether
> it's "slow" or not.  So if redisplay doesn't happen in one case it
> means it wasn't triggered.  Things that trigger redisplay are calls to
> 'message', to 'sit-for', explicit call to 'redisplay', and some others.

I am puzzled by what is triggering the redisplay at all.  Redisplay will
happen when "Emacs is waiting for input", but that means solely keyboard
and mouse input, doesn't it?  It doesn't mean file system input, does it?

So once Emacs starts the desktop loading with a call to `load', there
would appear to be nothing (in my setup, not yours) to trigger redisplay
until the load is complete.  But it happens in a GUI Emacs and sometimes
in a tty Emacs.  It happened for me on the linux console when I rebuilt
my Emacs 29 without native compilation; I got, IIRC, two buffers
displayed.

> > If you agree with me that this needs fixing (I think you do), I have two
> > ideas on how to fix it:

> I don't yet see what is the problem we are supposed to fix here.  Even
> if, after we dig deeper into this and understand why the frame stays
> blank in the console case, why is that a problem that needs fixing?

Because it looks, for an extended period of time, like Emacs has hung
completely.  This is going to irritate people, and might prompt some
users to abort Emacs.  If it can be 18 seconds blank screen for me, it
could easily be 2 minutes for somebody else with a larger desktop file or
a slower machine.

-- 
Alan Mackenzie (Nuremberg, Germany).





  reply	other threads:[~2022-10-20 15:28 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-19 13:28 bug#58634: Long delay with blank screen whilst loading desktop at emacs startup Alan Mackenzie
2022-10-19 15:49 ` Eli Zaretskii
2022-10-19 19:11   ` Andrea Corallo
2022-10-19 19:58     ` Alan Mackenzie
2022-10-20  5:20       ` Eli Zaretskii
2022-10-20 10:55         ` Alan Mackenzie
2022-10-20 13:07           ` Eli Zaretskii
2022-10-20 15:28             ` Alan Mackenzie [this message]
2022-10-20 16:28               ` Eli Zaretskii
2022-10-21  8:59                 ` Alan Mackenzie
2022-10-21 11:28                   ` Eli Zaretskii
2022-10-21 12:40                     ` Alan Mackenzie
2022-10-21 13:22                       ` Eli Zaretskii
2022-10-21 14:15                         ` Alan Mackenzie
2022-10-21 15:23                           ` Eli Zaretskii
2022-10-21 15:42                             ` Alan Mackenzie
2022-10-21 15:57                               ` Eli Zaretskii
2022-10-21 17:15                                 ` Alan Mackenzie
2022-10-21 18:12                                   ` Eli Zaretskii
2022-10-21 19:01                                     ` Alan Mackenzie
2022-10-21 19:14                                       ` Eli Zaretskii
2022-10-21 20:11                                         ` Alan Mackenzie
2022-10-22  6:26                                           ` Eli Zaretskii
2022-10-22 12:20                                             ` Alan Mackenzie
2022-10-22 13:11                                               ` Eli Zaretskii
2022-10-23 15:22                                                 ` Alan Mackenzie
2022-10-23 16:23                                                   ` Eli Zaretskii
2022-10-23 18:58                                                     ` Alan Mackenzie
2022-10-23 19:11                                                       ` Eli Zaretskii
2022-10-26 16:35                                                         ` Alan Mackenzie
2022-10-26 16:38                                                           ` Eli Zaretskii
2022-10-26 19:39                                                           ` Stefan Kangas
2022-10-27  5:19                                                             ` Eli Zaretskii
2022-10-21 19:09                       ` Stefan Kangas
2022-10-22 17:46                     ` Juri Linkov
2022-10-22 18:33                       ` Eli Zaretskii

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=Y1FpMPmVNvxLQDD9@ACM \
    --to=acm@muc.de \
    --cc=58634@debbugs.gnu.org \
    --cc=akrl@sdf.org \
    --cc=eliz@gnu.org \
    /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).