Hatena::Groupcadr

slimeの初期化ファイルを晒してみるスレ RSSフィード
 

ツリー全部最新の50件前後を読む

1g000001g000001   slimeの初期化ファイルを晒してみるスレ

いろいろあるかと思いますが、とりあえず自分はこんな感じです。

結構ぐちゃぐちゃです。何か上手く動いてない気もします。

Emacsの外でSwankを起動して接続を待ち、slime-connectで接続するという使い方をしています。

Swankは処理系ごとに起動するポートを変えています。

そういうわけでその為の専用関数も定義してみています。

;; init-slime.el
(eval-when-compile 
  (require 'cl))

(defun slime-sbcl ()
  (interactive)
  (slime-connect "localhost" 4005))

(defun slime-clisp ()
  (interactive)
  (slime-connect "localhost" 4006))

(defun slime-cmu ()
  (interactive)
  (slime-connect "localhost" 4007))

(defun slime-ecl ()
  (interactive)
  (slime-connect "localhost" 4008))

(defun slime-allegro ()
  (interactive)
  (slime-connect "localhost" 4009))

(defun slime-starlisp-allegro ()
  (interactive)
  (slime-connect "localhost" 4010))

(defun slime-lw ()
  (interactive)
  (slime-connect "localhost" 4011))


(cond ((memq system-type '(windows-nt))
       (add-to-list 'load-path "c:/slime"))
      ('T
;       (add-to-list 'load-path "~/.emacs.d/CVS-Source/slime")
       (add-to-list 'load-path "/share/sys/cl/src/slime")
       (add-to-list 'load-path "/share/sys/cl/src/slime/contrib")))

(require 'slime)

(setq slime-lisp-implementations
      (case system-type
	(windows-nt `((sbcl ("sbcl") :coding-system utf-8-unix)))
	(otherwise  `((sbcl ("/usr/local/bin/sbcl") :coding-system utf-8-unix)
		      (allegro ("~/cl/acl/acl81_express/alisp"))
		      (clisp ("/usr/local/bin/clisp"))
;		      (starlisp ("~/bin/slime-starlisp"))
		      (ecl ("/usr/local/bin/ecl"))
		      (cmucl ("cmucl") :coding-system utf-8-unix)))))

(setq slime-net-coding-system 'utf-8-unix)
(slime-setup)

(add-hook 'lisp-mode-hook 
	  (lambda () 
	    (slime-mode t)
	    (local-set-key [(control ?c) ?\;]        'slime-insert-balanced-comments)
	    (local-set-key [(control ?c) (meta ?\;)] 'slime-remove-balanced-comments)
	    
	    (show-paren-mode t)))

(eval-after-load "slime"
  '(progn
     (slime-setup '(slime-fancy
		    slime-asdf
					;slime-banner 
					;slime-highlight-edits
		    ))
     (setq slime-complete-symbol*-fancy t
           browse-url-firefox-program (if (memq system-type '(darwin)) "open" "clhs")
	   slime-complete-symbol-function 'slime-fuzzy-complete-symbol
	   common-lisp-hyperspec-root "http://l:10081/HyperSpec/"
	   browse-url-browser-function 'browse-url-firefox)
     ))

(defun cl-indent (sym indent)
  (put sym 'common-lisp-indent-function
       (if (symbolp indent)
	   (get indent 'common-lisp-indent-function)
	 indent)))

;; (cl-indent 名前 手本)
(cl-indent 'iterate 'let)
(cl-indent 'collect 'progn)
(cl-indent 'mapping 'let)
(cl-indent 'mapping 'let)

(add-hook 'slime-mode-hook
	  (lambda ()
	    (setq lisp-indent-function 'common-lisp-indent-function)
	    (cl-indent 'iterate 'let)
	    (cl-indent 'collect 'progn)
	    (cl-indent 'mapping 'let)
	    (cl-indent 'mapping 'let)))
返信2007/11/30 19:03:39
  • 1slimeの初期化ファイルを晒してみるスレ g000001g000001 2007/11/30 19:03:39
    いろいろあるかと思いますが、とりあえず自分はこんな感じです。 結構ぐちゃぐちゃです。何か上手く動いてない気もします。 Emacsの外でSwankを起動して接続を待ち、slime-connectで接続 ...