Compiling Emacs Lisp code from the command-line
Project description
elispcomp - Compiling Emacs Lisp code from the command-line
The elispcomp
command-line tool allows compiling Elisp (Emacs Lisp) code efficiently, providing optimized .elc and .eln files for improved performance in Emacs.
This tool simplifies the compilation of Emacs Lisp (Elisp) code by generating optimized .elc and .eln files directly from the command-line. Utilizing Emacs, it recursively compiles all Elisp files within a specified directory. The tool supports various compilation configurations, enabling users to adapt the process to their specific needs.
With an emphasis on simplicity and efficiency, it offers a powerful solution for managing and optimizing Emacs Lisp codebases from the command-line.
Installation
Here is how to install elispcomp
using pip:
pip install --user elispcomp
The pip command above will install the elispcomp
executable in the directory ~/.local/bin/
.
Usage
Here is an example of how to byte-compile and native-compile all .el files located in the ~/.emacs.d/lisp
directory. The native-compiled files will be stored in the ~/.eln-cache
directory:
elispcomp --eln-cache ~/.eln-cache ~/.emacs.d/lisp
The available options are as follows:
usage: elispcomp [--option] [N]
Recursively byte and native compile .el files.
positional arguments:
N The directories to be scanned recursively by Emacs to locate the '.el' files for compilation.
options:
-h, --help show this help message and exit
-c ELN_CACHE, --eln-cache ELN_CACHE
The eln-cache directory where Emacs stores the compiled native compiled code. Defaults to the default Emacs eln-cache directory.
-e EMACS_BIN, --emacs-bin EMACS_BIN
Path to the Emacs binary. Defaults: emacs
-j JOBS, --jobs JOBS Specify the number of parallel jobs for compilation. Default: Half the number of available CPUs
-b, --disable-byte-comp
Disable byte-compile. Default: enabled
-n, --disable-native-comp
Disable native compilation. Default: enabled
-a LOAD_PATH, --load-path LOAD_PATH
Recursively adds the subdirectories of the specified directory to the Emacs `load-path`. This option can be used multiple times to
include several directories.
License
Copyright (c) James Cherti.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for elispcomp-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4754b91fc1fe8cbbead111112f3de059b3f9fc8bb62f625a78bd9f8b6f097e15 |
|
MD5 | 8dc39014ad8b3ce8aa84422e16ab0476 |
|
BLAKE2b-256 | 8a7542e69914ee7ac9015207ebae7d84f42f0e37d28dd7619cebfa9ad507ac69 |