summaryrefslogtreecommitdiffstats
path: root/sbcl/sbclrc.org
blob: aaa4ee3a69e86f4f1888a18577a2ffe97fe25ca7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#+TITLE: SBCL Init
#+STARTUP: showall
#+HTML_HEAD: <link href="http://ryuslash.org/bootstrap/css/bootstrap.min.css" type="text/css" rel="stylesheet" />
#+PROPERTY: tangle .sbclrc
#+OPTIONS: num:nil

* Install quicklisp

  This bit of code was generated by quicklisp in order to load its
  initialization file at startup.

  #+BEGIN_SRC lisp :padline no
    ;;; The following lines added by ql:add-to-init-file:
    #-quicklisp
    (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp"
                                           (user-homedir-pathname))))
      (when (probe-file quicklisp-init)
        (load quicklisp-init)))
  #+END_SRC

* Install linedit

  This Chunk of code installs [[http://common-lisp.net/project/linedit/][Linedit]], a readline-like module for the
  SBCL REPL. Found thanks to [[http://irreal.org/blog/?p=1913][Irreal]]'s post on the matter. This snippet
  first checks if it should even be enabled, my [[file:~/projects/dotfiles/emacs/init.org::*Set%20inferior%20lisp%20program%20to%20SBCL][Emacs init file]] file
  tells SLIME to disable linedit.

  #+BEGIN_SRC lisp
    (if (member "--no-linedit" sb-ext:*posix-argv* :test 'equal)
        (setf sb-ext:*posix-argv*
              (remove "--no-linedit" sb-ext:*posix-argv* :test 'equal))
        (when (interactive-stream-p *terminal-io*)
          (require :sb-aclrepl)
          (require :linedit)
          (funcall (intern "INSTALL-REPL" :linedit) :wrap-current t)))
  #+END_SRC