Thanks to Andreas (the original author of gccmacs), we can now “redump” Emacs even with some natively compiled elisp in the mix. I’ve been cautious in my experiments so far, but: this works on Windows!

From a MSYS2/MINGW64 bash shell:

$ bin/emacs --batch -Q -eval '(let ((custom-theme-load-path (list "/.emacs.d/elpa/cyberpunk-2019-theme-20191008.1133/"))) (require '"'"'erc) (load-theme '"'"'cyberpunk-2019 t) (enable-theme '"'"'cyberpunk-2019) (dump-emacs-portable "erc.pdmp"))'

$ bin/runemacs.exe --dump-file erc.pdmp -fs -l

This seems to get a “fullboth” frame with my theme pretty fast. Note, I can’t trigger connection quite yet at that point; the runemacs call is loading my full init, and some parts that take a further moment.

Also, the first command, which created the custom portable dump called “erc.pdump” loaded by the second command, was nearly instant. Here’s a look at what this did to size of the the pdmp file.

-rw-r--r-- 2 corwi corwi 16200096 Oct 24 18:10 src/emacs.pdmp
-rw-r--r-- 2 corwi corwi 16200096 Oct 24 18:10 src/emacs-30.0.50.3.pdmp
-rw-r--r-- 1 corwi corwi 16200096 Oct 24 18:10 src/bootstrap-emacs.pdmp
-rw-r--r-- 1 corwi corwi 16506656 Oct 24 18:35 +cl-lib.pdmp
-rw-r--r-- 1 corwi corwi 20006368 Oct 25 00:30 erc+cl-lib.pdmp
-rw-r--r-- 1 corwi corwi 19764904 Oct 25 00:43 erc.pdmp

  • eli-zaretskii@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    11 months ago

    we can now “redump” Emacs

    Hold your horses: there are still bugs in “redumped” Emacs, so it is too early to announce a victory and make it sound like everyone can now use this without fear. It will take some non-trivial development work to clean this up, as there are many problems that need to be found and fixed before this becomes a reliable feature.

    • mplscorwin@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      11 months ago

      In point of fact, I was well aware of there being edges here --hence being cautious, to start-- so I doubly appreciate your correcting the record.

      Re-reading it, I agree it clearly does have too much squee – I plead the thrill of a “new to me” Emacs feature: something that didn’t work for me yesterday does now: namely, dumping after I’ve natively compiled some things. Heady stuff; I got carried away.

      Thank you for providing the clarity I hadn’t realized was absent.