:: Home :: Change Log :: Latest version: 0.4.2 |
ρEmacs is a preconfigured distribution of
GNU Emacs editor for
Microsoft Windows. It offers nearly GNU/Linux Emacs experience in Windows
with minimum configuration efforts. A set of additional GNU command-line and development tools is available through the network installer.
ρEmacs is discontinued as an integrated development environment. Its SourceForge distribution is frozen and will not be updated anymore. Please update the installed components manually if you still want to use ρEmacs as an IDE. See a lighter version of ρEmacs on GitHub.
IMPORTANT: any component could be manually upgraded or downgraded by the replacement of the contents of its subfolder under `<ρEmacs Installation Directory>/bin'.
The current version of ρEmacs includes version 27 of GNU Emacs text editor with (now extinct) EmacsW32 extension package (use M-x customize-group RET emacsw32 to explore what it offers). It is not recommended to install ρEmacs at the write-protected system folders.
ρEmacs installer will ask where do you want to store your personal settings and data. The following three options are available:
You can change the path of the home directory of a non-portable ρEmacs installation at any time through the submenu item named `Set Home Directory' under the top `((' menu. It is recommended to choose a path without spaces or non-ASCII characters for the ρEmacs HOME. The current path to ρEmacs HOME is available in `About Rho' buffer, under the Emacs `Help' menu.
It is also possible to set Emacs home directory through /HOME command-line argument of the rho command-line utility (see `System-wide tools' section):
rho /HOME:<path to a directory> (e.g.: rho /HOME:D:\gnu\home)
Rho will not create component-related directories in it if the additional /GUEST switch is specified.
Automated package installation is possible through the MELPA repository available with M-x list-packages command.
To install a package manually, you need to place it inside `<ρEmacs Home>/.emacs.d' directory (which is already added to Emacs load path). There could be two kinds of extensions:
ρEmacs takes care of the configuration of some org-mode tools that are very tedious to set up manually:
RHO installer is able to automatically configure org-protocol to capture links and selected text from web browsers. Notably, in the case of western system locales it should seamlessly work with Org Capture extension (Chrome, Firefox) without any additional configuration. More complex capture schemes are possible. By default, captures are saved at the file named ~/org/capture.org (configurable through the org-default-notes-file variable).
org-wiki package offers a firm foundation for a personal knowledge base. Its clip.jar utility is included into the distribution (Java runtime is required). The default wiki root is located at ~/org/wiki.
It is possible to install the following Lisp dialects with ρEmacs:
Lisp dialect | Version | Emacs mode | Dependency management1 | Requirements |
---|---|---|---|---|
Clojure | 1.10.1 | Cider | Leiningen 2 | Java 1.8 or higher |
Clozure CL | 1.12 | SLIME | Quicklisp | - |
SBCL | 2.0 | SLIME | Quicklisp | - |
CLISP | 2.49 | SLIME | Quicklisp | - |
ABCL | 1.7 | SLIME | Quicklisp | Java 1.8 or higher |
ECL2 | 20.4.24 | SLIME | Quicklisp | Visual C++ compiler |
Racket | 7.7 | Geiser | PLaneT | - |
1
For the detailed information about dependency management see `Dependency Management' section below.
2 Will not work if path to ρEmacs home directory contains spaces or non-ASCII
characters.
To use the C++ compiler with ECL you need to manually set the following system environment variables:
VC_INSTALL_DIR=<path to Visual C++ build tools>/bin
WIN_SDK_DIR=<path to Windows SDK>
The values above could be obtained by issuing the following commands in Visual Studio Developer Shell:
echo %VCToolsInstallDir%
echo %WindowsSdkDir%
HINT: you can launch any installed Common Lisp implementation using M-- M-x slime <RET> implementation-name <RET> Emacs keyboard shortcut. Use the <TAB> key after the first <RET> to list available implementation names.
IMPORTANT: what to do if a SLIME REPL evaluation request freezes? If you are running a multithreaded Lisp, you can save the existing Lisp environment by recurrent connection to the corresponding Lisp process. To accomplish this, use the M-x slime-connect command or the command from the previous paragraph. For example, if you are running Clozure CL, type M-- M-x slime <RET> ccl <RET> and answer 'No' to the following SLIME question. Clozure then will create additional thread in the current Lisp environment, and you could continue the work.
With lispx-proxy you can easily launch Common Lisp, Clojure or Scheme files as scripts and create more complex application distributions.
lispx-proxy is fully integrated into ρEmacs, and you could access all ρEmacs ASDF repositories while executing Common Lisp code.
Emacs has ability to emulate command shell, which could run Lisp implementations without overhead made by Quicklisp or SLIME's Swank. This may be useful when you want to reduce the memory footprint of a generated program binary. See what commands Rho Shell offers by issuing `list-commands' inside it.
It is also possible to run any Lisp implementation out of Emacs using system-wide lispx-proxy. For example, you could run SBCL command-line REPL with the following command: lispx -i sbcl --repl issued in your regular Windows shell. To run Clojure REPL type lispx -l clojure --repl in your command prompt. Common Lisp package management systems are not automatically available with this scenario, although the REPL or scripts could use any preinstalled ASDF-systems or Java/Clojure libraries from `<ρEmacs Home>/clojure/lib'.
If necessary, ρEmacs allows to install a local copy of Common Lisp HyperSpec and browse keyword documentation from SLIME using C-c C-d h keyboard shortcut.
There are several places which are considered by ρEmacs as ASDF repositories:
where <HOME> is the ρEmacs home directory. It is necessary to place directories with ASDF systems in one of these folders to make them accessible by ASDF. In addition, you can store Leiningen Clojure projects in <HOME>\clojure directory (it has no special meaning for Leiningen).
It is possible to disable any ASDF repository (including the repositories inside lispx-proxy executable source distributions) by placing a file named `.noindex' into it.
Quicklisp is automatically preloaded for CL implementations with built-in ASDF2 or above (currently for all implementations included into ρEmacs). It is immediately possible to use ql:system-apropos and ql:quickload functions (for details see the manual at Quicklisp home site).
You can manage Clojure dependencies with the Leiningen build tool and Clojars repository. A typical use case looks like the following:
WARNING: a Clojure Java process may remain in memory after Emacs shutdown when Cider nrepl was not terminated through M-x cider-quit.
There is currently poor support of Scheme and Racket in ρEmacs. For package management you can use the built-in Racket PLaneT facility according to the documentation. ρEmacs brings nothing special in this case.
Common Lisp implementations included in ρEmacs use ASDF2 translation facility to manage location of compiled fasl files. By default, compiled files are placed into `.fasl-cache' subfolder of the ρEmacs home directory. Fasl cache could be cleaned with `Clear Fasl Cache' menu item under the `((' menu group. It may be the first thing to do when something fails by no obvious reason.
Item | Version | Included tools and libraries |
---|---|---|
Python | 2.7.13 | The default Python pip package manager is available as the `pip2' command |
Python | 3.9.0 | The default Python pip package manager is available as the `pip3' command |
OpenJDK | 15.0.1 | Apache ANT 1.10.6, Apache Maven 3.6.3, Gradle 6.5 |
MinGW-w64 | installed by pacman | Boost |
The `rho' and `rhoc' utilities are available through system PATH and could be used to open files from command line or to use Emacs as an external editor in some applications. The utilities accept only one file argument, though.
The `lispx' command is also available at the command prompt and could be used for Lisp scripting. Common Lisp scripts are able to use all ASDF systems installed into ρEmacs repositories, Clojure scripts may load libraries placed in the `<ρEmacs Home>/clojure/lib' directory.
© 2010-2020 g/christensen (gchristnsngmail.com)