Skip to content

Please make setting up Quicklisp on a secondary Lisp implementation more friendly to new users #9

Open
@ackalker

Description

@ackalker

TL;DR:

My suggestions:

  • Please make (quicklisp-quickstart:install) show a simple message instead of throw an error when trying to re-install Quicklisp
  • Please show the suggestion of using (ql:add-to-init-file) after completion of either (quicklisp-quickstart:install) or (load "quicklisp/setup.lisp").

The current procedure for setting up a fresh installation of Quicklisp:

  • download "quicklisp.lisp" from the website
  • (load "quicklisp.lisp")
  • (quicklisp-quickstart:install)

helpfully suggests the user to use:

  • (ql:add-to-init-file)

to load Quicklisp automatically the next time s/he starts their Lisp.

However, when Quicklisp is already installed using one Lisp implementation, and the user tries to use the above procedure while running a different Lisp implementation, after the step:

  • (quicklisp-quickstart:install)

the user gets an error, like (using CCL as an example):
? (quicklisp-quickstart:install)

Error: Quicklisp has already been installed. Load #P"/home/miki/quicklisp/setup.lisp" instead.
While executing: QUICKLISP-QUICKSTART:INSTALL, in process listener(1).
Type :POP to abort, :R for a list of available restarts.
Type :? for other options.
Lisp signals Error: Quicklisp has already been installed. Load #P"/home/miki/quicklisp/setup.lisp" instead

and the user gets thrown into the debugger, which may be unfamiliar (i.e. depending on the verbosity of the particular Lisp's debugger, it may not be obvious that there is a simple restart which loads the needed file).

After (if?) the user manages to exit to the top-level and uses:

  • (load "/path/to/quicklisp/setup.lisp")

s/he no longer receives the suggestion to use (ql:add-to-init-file) to setup Quicklisp on every session, and may have to go look for documentation elsewhere on how to do this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions