diff options
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 | ||