IMPORTANT: any component could be manually upgraded or downgraded by the replacement of the contents of its subfolder under `<ρEmacs Installation Directory>/bin'.

Then you should initialize the package according to its manual, for example, by placing `' line into the `~/.emacs'.

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:

Automated package installation is possible through the MELPA repository available with M-x list-packages command.

Rho will not create component-related directories in it if the additional /GUEST switch is specified.

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):

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.

ρEmacs installer will ask where do you want to store your personal settings and data. The following three options are available:

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.

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.

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).

ρEmacs takes care of the configuration of some org-mode tools that are very tedious to set up manually:

It is possible to install the following Lisp dialects with ρEmacs:

SLIME is a Emacs library that is used to interact withimplementations from the editor (Scheme lang. implementation included inuses another Emacs enhancement library - Geiser ).

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.

lispx-proxy

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 Command Shell

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'.

Common Lisp HyperSpec

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.

Dependency Management

Common Lisp

¤ ASDF Repository Structure ¤ There are several places which are considered by ρEmacs as ASDF repositories: <HOME>\lisp\repository - a common repository to manually place third party ASDF-systems;

- a common repository to manually place third party ASDF-systems; <HOME>\lisp - a repository for folders of work-in-progress ASDF systems and lispx distributions (use it for development);

- a repository for folders of work-in-progress ASDF systems and lispx distributions (use it for development); <HOME>\.quicklisp\dists\quicklisp\software - a Quicklisp repository for automatically installed systems; 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. ¤ Qukclisp ¤ 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).

Clojure

You can manage Clojure dependencies with the Leiningen build tool and Clojars repository. A typical use case looks like the following: M-x shell - run Emacs command shell

- run command shell cd "~/clojure" - change the current dir. to the clojure user directory under the ρEmacs home directory

- change the current dir. to the clojure user directory under the ρEmacs home directory lein new test-project - create new project named `test-project'

- create new project named `test-project' cd test-project - step into the project directory

- step into the project directory lein deps - download and install required dependencies (you have to manually configure dependencies in project.clj before this step).

- download and install required dependencies (you have to manually configure dependencies in project.clj before this step). M-x cider-jack-in - load newly-created project with Cider, (it will use Clojure binary from the project dependencies for execution, not a binary included into ρEmacs) WARNING: a Clojure Java process may remain in memory after Emacs shutdown when Cider nrepl was not terminated through M-x cider-quit.

Racket

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.

Fasl Cache

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.