44 lines
1.3 KiB
EmacsLisp
44 lines
1.3 KiB
EmacsLisp
;; (require 'chicken)
|
|
|
|
;; (require 'slime)
|
|
(require 'slime-autoloads)
|
|
(global-set-key (kbd "<f5> s") 'slime)
|
|
(with-eval-after-load 'slime
|
|
(slime-setup)
|
|
(setq inferior-lisp-program "/usr/bin/sbcl")
|
|
(cp-set-keys
|
|
:keymap slime-mode-map
|
|
:bindings
|
|
`((,(kbd "M-n") next-line)
|
|
(,(kbd "M-p") previous-line))))
|
|
|
|
(defun set-cl-repl-keys ()
|
|
(if (or (cp-buffer-name-match-p "^\*inferior-lisp\*\\(<[0-9]*>\\)?")
|
|
(eq major-mode 'lisp-mode))
|
|
(local-set-key (kbd "TAB") 'completion-at-point)))
|
|
|
|
(add-hook 'slime-connected-hook 'set-cl-repl-keys)
|
|
(add-hook 'comint-mode-hook 'set-cl-repl-keys)
|
|
(add-hook 'lisp-mode-hook 'set-cl-repl-keys)
|
|
|
|
(setq scheme-program-name "csi -:c")
|
|
(setq comint-prompt-read-only t)
|
|
|
|
(add-to-list 'auto-mode-alist '("\\.scm\\'" . geiser-mode))
|
|
;; (require 'geiser)
|
|
(autoload 'geiser-mode "geiser-mode" "geiser-mode." t)
|
|
(with-eval-after-load 'geiser-mode
|
|
(cp-set-keys
|
|
:unset t
|
|
:keymap geiser-mode-map
|
|
:bindings
|
|
`((,(kbd "C-.")))))
|
|
|
|
(autoload 'byte-recompile-file "bytecomp" "byte-recompile-file" t)
|
|
(defun cp-byte-recompile-el-buffer ()
|
|
"Run byte-recompile-file on current buffer if current buffer is
|
|
an Emacs Lisp file."
|
|
(if (equal major-mode 'emacs-lisp-mode)
|
|
(byte-compile-file (buffer-name))))
|
|
(add-hook 'after-save-hook 'cp-byte-recompile-el-buffer)
|