unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Lynn Winebarger <owinebar@gmail.com>
Cc: emacs-devel@gnu.org
Subject: Re: Regression in dump-emacs-portable
Date: Thu, 16 Feb 2023 17:34:17 +0200	[thread overview]
Message-ID: <83r0up39qe.fsf@gnu.org> (raw)
In-Reply-To: <CAM=F=bBqqBUXQjNCiiimOffgmz=xbk877UEnGFs=-T5KDTgBGg@mail.gmail.com> (message from Lynn Winebarger on Thu, 16 Feb 2023 10:05:00 -0500)

> From: Lynn Winebarger <owinebar@gmail.com>
> Date: Thu, 16 Feb 2023 10:05:00 -0500
> Cc: emacs-devel <emacs-devel@gnu.org>
> 
> I do see something in the redumped emacs that seems like a bug to me.  The process I use for creating the
> dump uses the -Q flag.  But some of the settings I see in "emacs -Q --dump-file ..." are not the ones I see
> with just "emacs -Q".  Some are pretty basic - menu-bar-mode, tool-bar-mode, global-font-lock-mode,
> transient-mark-mode are all nil in the redumped process but not the baseline.

That is exactly the problem with re-dumping: stuff that was
initialized on the first start gets dumped, and then works differently
when Emacs is restarted from the second dump.

It might sound like a minor issue, but it is actually a tip of a very
large iceberg.  When we run temacs to produce the dump file, we jump
through many hoops to avoid these problems, and then when dumped Emacs
is started, it jumps through some more hoops.  Those are all the
init_FOO_once and pdumper_do_now_and_after_load calls.  All this works
differently when Emacs starts from a re-dumped dump file.  For
example, features that are toggled might be turned off in the second
start because the startup code assumes they are originally turned off
and toggling them turns them on.

Figuring this out is the main part of the job of enabling re-dumping.

> A general test would be load the additional files to be dumped, write out all the symbol properties, variable
> values, and function values, then load the dump file and compare everything with equal, including the set of
> symbols, variables and functions defined.
> Is it fair to say that is the correct expectation of the dumping procedure?

I don't think this will work, because at least the defcustoms are
evaluated upon each startup, and a defcustom can have a setter
function.  And there are probably more features which will get in the
way.




  reply	other threads:[~2023-02-16 15:34 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-13  0:51 Regression in dump-emacs-portable Lynn Winebarger
2023-02-14  1:13 ` Lynn Winebarger
2023-02-14 14:23   ` Eli Zaretskii
2023-02-14 23:26     ` Lynn Winebarger
2023-02-15 12:42       ` Eli Zaretskii
2023-02-16  9:31         ` Lynn Winebarger
2023-02-16  9:54           ` Lynn Winebarger
2023-02-16 15:05             ` Lynn Winebarger
2023-02-16 15:34               ` Eli Zaretskii [this message]
2023-02-16 23:45                 ` Lynn Winebarger
2023-02-17 13:22                   ` Lynn Winebarger
2023-02-17 14:31                     ` Eli Zaretskii
2023-02-17 23:44                       ` Lynn Winebarger
2023-02-18  7:07                         ` Eli Zaretskii
2023-02-21 14:21                           ` Lynn Winebarger
2023-02-23  2:41                             ` Lynn Winebarger
2023-02-23 13:21                 ` Lynn Winebarger
2023-02-16 15:46           ` Eli Zaretskii
2023-02-17  1:29             ` Lynn Winebarger
2023-02-17  3:19               ` Lynn Winebarger
2023-02-17  4:10               ` Lynn Winebarger
2023-02-17  5:21                 ` Po Lu
2023-02-17 12:57                   ` Lynn Winebarger
2023-02-23 15:08 ` Gregory Heytings
2023-02-23 22:32   ` Lynn Winebarger
2023-02-25  4:11     ` Richard Stallman
2023-02-25  4:11     ` Richard Stallman

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=83r0up39qe.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=owinebar@gmail.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).