 
 (use-package elisp-mode
   :defer t
-  :config (progn (add-hook 'emacs-lisp-mode-hook #'lispy-mode)
-
-                 (defun db/add-use-package-to-imenu ()
-                   (add-to-list 'imenu-generic-expression
-                                '("Used Packages"
-                                  "\\(^\\s-*(use-package +\\)\\(\\_<.+\\_>\\)"
-                                  2)))
-                 (add-hook 'emacs-lisp-mode-hook #'db/add-use-package-to-imenu)
-
-                 (add-hook 'ielm-mode-hook #'eldoc-mode)
-                 (add-hook 'emacs-lisp-mode-hook #'eldoc-mode)))
+  :config (progn
+            (add-hook 'emacs-lisp-mode-hook #'lispy-mode)
+            (add-hook 'emacs-lisp-mode-hook #'db/add-use-package-to-imenu)
+            (add-hook 'ielm-mode-hook #'eldoc-mode)
+            (add-hook 'emacs-lisp-mode-hook #'eldoc-mode)))
+
+(defun db/add-use-package-to-imenu ()
+  "Add `use-package’ statements to `imenu-generic-expression."
+  (add-to-list 'imenu-generic-expression
+               '("Used Packages"
+                 "\\(^\\s-*(use-package +\\)\\(\\_<.+\\_>\\)"
+                 2)))
 
 (use-package geiser
   :commands (geiser-mode))

              (unbind-key "C-x C-j" term-raw-map)
              (unbind-key "C-x g" term-raw-map))))

(use-package ansi-color
  :commands (ansi-color-for-comint-mode-on)
  :config (progn
            ;; http://endlessparentheses.com/ansi-colors-in-the-compilation-buffer-output.html
            (defun endless/colorize-compilation ()
              "Colorize from `compilation-filter-start' to `point'."
              (let ((inhibit-read-only t))
                (ansi-color-apply-on-region compilation-filter-start (point))))

            (add-hook 'compilation-filter-hook #'endless/colorize-compilation)))

(use-package shell

                      (cmucl ("cmucl") :coding-system utf-8-unix)
                      (ccl   ("ccl")   :coding-system utf-8-unix)))

              (eval-when-compile
                (require 'slime-repl))

              (setq slime-repl-history-remove-duplicates t
                    slime-repl-history-trim-whitespaces t)))

(use-package hy-mode
  :commands (hy-mode)
  :config (progn
            (add-hook 'hy-mode-hook #'lispy-mode)
            (add-hook 'hy-mode-hook #'inferior-lisp)))

(defun org-babel-execute:hy (body params)
  ;; http://kitchingroup.cheme.cmu.edu/blog/2016/03/30/OMG-A-Lisp-that-runs-python/
  "Execute hy code BODY with parameters PARAMS."
  (ignore params)
  (let* ((temporary-file-directory ".")
         (tempfile (make-temp-file "hy-")))
    (with-temp-file tempfile
      (insert body))
    (unwind-protect
        (shell-command-to-string
         (format "hy %s" tempfile))
      (delete-file tempfile))))

;; * TeX
