diff options
| author | Paul Eggert | 2019-07-23 09:19:09 -0700 |
|---|---|---|
| committer | Paul Eggert | 2019-07-23 09:23:20 -0700 |
| commit | 8dd5b6ea56c38669bc98104ee2d6b31496624d28 (patch) | |
| tree | 3c0f5d0259478f97052fd21585cb24d5d105437c /doc | |
| parent | 29a7d73d195761e8309a4fe23872888758436d1e (diff) | |
| download | emacs-8dd5b6ea56c38669bc98104ee2d6b31496624d28.tar.gz emacs-8dd5b6ea56c38669bc98104ee2d6b31496624d28.zip | |
Improve pdumper doc; say unexec is deprecated
Say that pdumping cannot redump unless -batch is used. Say that
the traditional unexec dumping method is by default not available,
and is deprecated. Don't call dump files "portable", as dump files
are not any more portable than the Emacs executables themselves.
Just call them "dump files". Similar, prefer "portable dumper"
(since the dumper code is portable) to "portable dumping" (since
the dump file is not). Be more systematic about calling them
"dump files" instead of "dumped images" or whatnot.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/lispref/internals.texi | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 72066d34f44..f85c266edef 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi | |||
| @@ -61,10 +61,10 @@ can be one of the following: | |||
| 61 | 61 | ||
| 62 | @table @samp | 62 | @table @samp |
| 63 | @item pdump | 63 | @item pdump |
| 64 | @cindex portable dump file | 64 | @cindex dump file |
| 65 | Record the preloaded Lisp data in a @dfn{portable dump} file. This | 65 | Record the preloaded Lisp data in a @dfn{dump file}. This |
| 66 | method produces an additional data file which Emacs will load at | 66 | method produces an additional data file which Emacs will load at |
| 67 | startup. The portable dump file is usually called @file{emacs.pdmp}, | 67 | startup. The produced dump file is usually called @file{emacs.pdmp}, |
| 68 | and is installed in the Emacs @code{exec-directory} (@pxref{Help | 68 | and is installed in the Emacs @code{exec-directory} (@pxref{Help |
| 69 | Functions}). This method is the most preferred one, as it does not | 69 | Functions}). This method is the most preferred one, as it does not |
| 70 | require Emacs to employ any special techniques of memory allocation, | 70 | require Emacs to employ any special techniques of memory allocation, |
| @@ -75,7 +75,7 @@ modern systems to enhance security and privacy. | |||
| 75 | @cindex bootstrapping Emacs | 75 | @cindex bootstrapping Emacs |
| 76 | Like @samp{pdump}, but used while @dfn{bootstrapping} Emacs, when no | 76 | Like @samp{pdump}, but used while @dfn{bootstrapping} Emacs, when no |
| 77 | previous Emacs binary and no @file{*.elc} byte-compiled Lisp files are | 77 | previous Emacs binary and no @file{*.elc} byte-compiled Lisp files are |
| 78 | available. The produced portable dump file is usually named | 78 | available. The produced dump file is usually named |
| 79 | @file{bootstrap-emacs.pdmp} in this case. | 79 | @file{bootstrap-emacs.pdmp} in this case. |
| 80 | 80 | ||
| 81 | @item dump | 81 | @item dump |
| @@ -88,6 +88,8 @@ terminal, so that the tables of terminal information are empty in the | |||
| 88 | dumped Emacs.) This method is also known as @dfn{unexec}, because it | 88 | dumped Emacs.) This method is also known as @dfn{unexec}, because it |
| 89 | produces a program file from a running process, and thus is in some | 89 | produces a program file from a running process, and thus is in some |
| 90 | sense the opposite of executing a program to start a process. | 90 | sense the opposite of executing a program to start a process. |
| 91 | Although this method was the way that Emacs traditionally saved its | ||
| 92 | state, it is now deprecated. | ||
| 91 | 93 | ||
| 92 | @item bootstrap | 94 | @item bootstrap |
| 93 | Like @samp{dump}, but used when bootstrapping Emacs with the | 95 | Like @samp{dump}, but used when bootstrapping Emacs with the |
| @@ -97,11 +99,11 @@ Like @samp{dump}, but used when bootstrapping Emacs with the | |||
| 97 | @cindex preloaded Lisp files | 99 | @cindex preloaded Lisp files |
| 98 | @vindex preloaded-file-list | 100 | @vindex preloaded-file-list |
| 99 | The dumped @file{emacs} executable (also called a @dfn{pure} Emacs) | 101 | The dumped @file{emacs} executable (also called a @dfn{pure} Emacs) |
| 100 | is the one which is installed. If the portable dumping was used to | 102 | is the one which is installed. If the portable dumper was used to |
| 101 | build Emacs, the @file{emacs} executable is actually an exact copy of | 103 | build Emacs, the @file{emacs} executable is actually an exact copy of |
| 102 | @file{temacs}, and the corresponding @file{emacs.pdmp} file is | 104 | @file{temacs}, and the corresponding @file{emacs.pdmp} file is |
| 103 | installed as well. The variable @code{preloaded-file-list} stores a | 105 | installed as well. The variable @code{preloaded-file-list} stores a |
| 104 | list of the preloaded Lisp files recorded in the portable dump file or | 106 | list of the preloaded Lisp files recorded in the dump file or |
| 105 | in the dumped Emacs executable. If you port Emacs to a new operating | 107 | in the dumped Emacs executable. If you port Emacs to a new operating |
| 106 | system, and are not able to implement dumping of any kind, then Emacs | 108 | system, and are not able to implement dumping of any kind, then Emacs |
| 107 | must load @file{loadup.el} each time it starts. | 109 | must load @file{loadup.el} each time it starts. |
| @@ -201,15 +203,19 @@ In the unlikely event that you need a more general functionality than | |||
| 201 | @code{before-init-hook} (@pxref{Startup Summary}). | 203 | @code{before-init-hook} (@pxref{Startup Summary}). |
| 202 | 204 | ||
| 203 | @defun dump-emacs-portable to-file &optional track-referrers | 205 | @defun dump-emacs-portable to-file &optional track-referrers |
| 204 | This function dumps the current state of Emacs into a portable dump | 206 | This function dumps the current state of Emacs into a dump |
| 205 | file @var{to-file}, using the @code{pdump} method. Normally, the | 207 | file @var{to-file}, using the @code{pdump} method. Normally, the |
| 206 | portable dump file is called @file{@var{emacs-name}.dmp}, where | 208 | dump file is called @file{@var{emacs-name}.dmp}, where |
| 207 | @var{emacs-name} is the name of the Emacs executable file. The | 209 | @var{emacs-name} is the name of the Emacs executable file. The |
| 208 | optional argument @var{track-referrers}, if non-@code{nil}, causes the | 210 | optional argument @var{track-referrers}, if non-@code{nil}, causes the |
| 209 | portable dumping process keep additional information to help track | 211 | portable dumper to keep additional information to help track |
| 210 | down the provenance of object types that are not yet supported by the | 212 | down the provenance of object types that are not yet supported by the |
| 211 | @code{pdump} method. | 213 | @code{pdump} method. |
| 212 | 214 | ||
| 215 | Although the portable dumper code can run on many platforms, the dump | ||
| 216 | files that it produces are not portable---they can be loaded only by | ||
| 217 | the Emacs executable that dumped them. | ||
| 218 | |||
| 213 | If you want to use this function in an Emacs that was already dumped, | 219 | If you want to use this function in an Emacs that was already dumped, |
| 214 | you must run Emacs with the @samp{-batch} option. | 220 | you must run Emacs with the @samp{-batch} option. |
| 215 | @end defun | 221 | @end defun |
| @@ -220,20 +226,20 @@ This function dumps the current state of Emacs into an executable file | |||
| 220 | @var{to-file}, using the @code{unexec} method. It takes symbols from | 226 | @var{to-file}, using the @code{unexec} method. It takes symbols from |
| 221 | @var{from-file} (this is normally the executable file @file{temacs}). | 227 | @var{from-file} (this is normally the executable file @file{temacs}). |
| 222 | 228 | ||
| 223 | This function cannot be used in an Emacs that was already dumped. If | 229 | This function cannot be used in an Emacs that was already dumped. |
| 224 | Emacs was built without @code{unexec} support, this function will not | 230 | This function is deprecated, and by default Emacs is built without |
| 225 | be available. | 231 | @code{unexec} support so this function is not available. |
| 226 | @end defun | 232 | @end defun |
| 227 | 233 | ||
| 228 | @defun pdumper-stats | 234 | @defun pdumper-stats |
| 229 | If the current Emacs session restored its state from a portable dump | 235 | If the current Emacs session restored its state from a dump |
| 230 | file, this function returns information about the dump file and the | 236 | file, this function returns information about the dump file and the |
| 231 | time it took to restore the Emacs state. The value is an alist | 237 | time it took to restore the Emacs state. The value is an alist |
| 232 | @w{@code{((dumped-with-pdumper . t) (load-time . @var{time}) | 238 | @w{@code{((dumped-with-pdumper . t) (load-time . @var{time}) |
| 233 | (dump-file-name . @var{file}))}}, | 239 | (dump-file-name . @var{file}))}}, |
| 234 | where @var{file} is the name of the dump file, and @var{time} is the | 240 | where @var{file} is the name of the dump file, and @var{time} is the |
| 235 | time in seconds it took to restore the state from the dump file. | 241 | time in seconds it took to restore the state from the dump file. |
| 236 | If the current session was not restored from a portable dump file, the | 242 | If the current session was not restored from a dump file, the |
| 237 | value is nil. | 243 | value is nil. |
| 238 | @end defun | 244 | @end defun |
| 239 | 245 | ||