summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2022-10-14 21:57:18 +0300
committerEli Zaretskii <eliz@gnu.org>2022-10-14 21:57:18 +0300
commit4bd3dd505e4ae3094237a554587ffa509ed4db4e (patch)
tree3e7c10224a7d5a3591ad584630df3c1ee4860df5
parentb7d7c2d9e98ffd3c01e2276d8aaaaf9bcc6f2d1c (diff)
downloademacs-4bd3dd505e4ae3094237a554587ffa509ed4db4e.tar.gz
Document how to control where the *.eln files are written
* doc/lispref/compile.texi (Native Compilation): Document the trick of pointing $HOME to a non-existent directory. (Native-Compilation Variables): Document the role of 'native-comp-eln-load-path' in determining where *.eln files are written.
-rw-r--r--doc/lispref/compile.texi18
1 files changed, 18 insertions, 0 deletions
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index f336753a6c3..1b75ae28841 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -847,6 +847,14 @@ native compilation of that file. In addition, a similar variable
file. If both @code{no-byte-compile} and @code{no-native-compile} are
specified, the former takes precedence.
+@cindex native compilation, prevent writing @file{*.eln} files
+ Sometimes there could be a need to prevent the native compilation
+from writing its results, the @file{*.eln} files, into a subdirectory
+of @code{user-emacs-directory} (@pxref{Init File}). You can do that
+by either changing the value of @code{native-comp-eln-load-path}
+(@pxref{Native-Compilation Variables}) or by temporarily pointing the
+@env{HOME} environment variable to a non-existing directory.
+
@menu
* Native-Compilation Functions:: Functions to natively-compile Lisp.
* Native-Compilation Variables:: Variables controlling native compilation.
@@ -1061,3 +1069,13 @@ subprocesses that are still running, thus preventing the corresponding
@file{.eln} files from being written. If the value is @code{nil}, the
default, Emacs will kill these subprocesses without querying.
@end defopt
+
+The variable @code{native-comp-eln-load-path} holds the list of
+directories where Emacs looks for the @file{*.eln} files
+(@pxref{Library Search}); in that role it is the equivalent of
+@code{load-path} used to look for @file{*.el} and @file{*.elc} files.
+The directories in this list are also used for writing the
+@file{*.eln} files produced by asynchronous native-compilation;
+specifically, Emacs will write these files into the first writable
+directory in the list. Thus, you can control where native-compilation
+stores the results by changing the value of this variable.