(defvar *quicklisp-url* "http://beta.quicklisp.org/quicklisp.lisp") (defvar *quicklisp-dir* "~/quicklisp") (defvar *quicklisp-file* "quicklisp.lisp") (defvar *slime-helper* (expand-file-name (concat *quicklisp-dir* "/slime-helper.el"))) (setq inferior-lisp-program "sbcl") (defun guide-install-quicklisp () (message "You can install quicklisp with following steps") (message "mkdir -p ~/quicklisp") (message "cd ~/quicklisp") (message "curl -O %s" *quicklisp-url*) (message "%s --load quicklisp.lisp" inferior-lisp-program) (message "running following list of under LISP session") (message "(quicklisp-quickstart:install)") (message "(ql:update-client)") (message "(ql:quickload \"quicklisp-slime-helper\")") (message "(ql:add-to-init-file)") nil) (defun check-enable-slime () (let ((enabled (and (which inferior-lisp-program) (file-exists-p *slime-helper*)))) (if enabled t (progn (guide-install-quicklisp) nil)))) (register-mypkg (list :name "slime" :enabled (check-enable-slime) :packages '(async slime slime-annot slime-ritz) :idle-conf #'(lambda () (load *slime-helper*))))