LINUX.ORG.RU

Альтернативный swank

 ,


0

1

Пробую один из форков slime. Лезет ошибка, корень которой ИМХО видно из этого:

; loading #P"~/.emacs.d/site-lisp/slime-archimag/swank-loader.lisp"

; compiling file "/usr/share/emacs/site-lisp/slime/swank-backend.lisp" (written 20 APR 2012 02:26:21 PM):

Вот кусок из ~/.emacs:

;;; restas integration
(add-to-list 'load-path "~/quicklisp/dists/quicklisp/software/restas-20120107-git/slime/")
(add-to-list 'load-path "~/.emacs.d/site-lisp/slime-archimag")
	
(require 'slime)
(slime-setup '(slime-fancy))
(setq slime-backend "~/.emacs.d/site-lisp/slime-archimag/swank-loader.lisp")
(setq slime-net-coding-system 'utf-8-unix)
(setq common-lisp-hyperspec-root "/usr/share/doc/HyperSpec/")
(defmacro lisp-slime (lisp path &optional coding)
  (let ((funname (intern (format "%s-slime" lisp))))
    `(defun ,funname ()
       (interactive)
       (let ((inferior-lisp-program ,path)
	     (slime-net-coding-system (or ,coding 'utf-8-unix)))
	 (slime)))))

(lisp-slime sbcl "/usr/bin/sbcl")
(lisp-slime clisp "/usr/bin/clisp")

(require 'restas)

Как решить проблему, не удаляя оригинальный пакет?

★★★★★

Последнее исправление: ados (всего исправлений: 1)

Наверное вместо require 'slime можно сделать load «путь к нужному слайму». Еще наверное как вариант - поставить в load-path путь к своему слайму перед путем к основному репозиторию расширений.

ЗЫ. А чем не устраивает оригинальный слайм, чем архимаговский круче?

staseg ★★★★★
()
Ответ на: комментарий от staseg

чем архимаговский круче?

Любопытно ведь...

ados ★★★★★
() автор топика
Ответ на: комментарий от staseg

поставить в load-path путь к своему слайму перед путем к основному репозиторию расширений.

Сделал так:

;(add-to-list 'load-path "~/.emacs.d/site-lisp/slime-archimag/")
(push  "~/.emacs.d/site-lisp/slime-archimag/" load-path)

как об стенку горох...

ados ★★★★★
() автор топика
Ответ на: комментарий от staseg

С load тоже лезет в /usr...

ados ★★★★★
() автор топика

Добавил в .sbclrc это:

(push (merge-pathnames ".emacs.d/site-lisp/slime-archimag/"
		       (user-homedir-pathname)) 
      asdf:*central-registry*)

Получил это:

Can't locate module: SWANK-IO-PACKAGE::SWANK-REPL
ados ★★★★★
() автор топика

Хм, вот поменял сабжевый конфиг на это:

;;; restas integration
(add-to-list 'load-path "~/quicklisp/dists/quicklisp/software/restas-20120107-git/slime/")
(add-to-list 'load-path "~/.emacs.d/site-lisp/slime-archimag/")
;(push  "~/.emacs.d/site-lisp/slime-archimag/" load-path)

(require 'slime)

(slime-setup '(slime-fancy))

(setq slime-net-coding-system 'utf-8-unix)
(setq common-lisp-hyperspec-root "/usr/share/doc/HyperSpec/")
(defmacro lisp-slime (lisp path &optional coding)
  (let ((funname (intern (format "%s-slime" lisp))))
    `(defun ,funname ()
       (interactive)
       (let ((inferior-lisp-program ,path)
	     (slime-net-coding-system (or ,coding 'utf-8-unix)))
	 (slime)))))

(lisp-slime sbcl "/usr/bin/sbcl")
(lisp-slime clisp "/usr/bin/clisp")

(require 'restas)
(load "~/.emacs.d/site-lisp/slime-archimag/slime.el")
(setq slime-backend "~/.emacs.d/site-lisp/slime-archimag/swank-loader.lisp")

И всё заработало. Только вот теперь система fasl'ы не порождает и ~/.slime/ не создаёт. Всё та же Стальная Банка, вроде...

ados ★★★★★
() автор топика
Ответ на: комментарий от ados

Немного руки выпрямил и биндинг в норме.

;;; restas integration
(add-to-list 'load-path "~/quicklisp/dists/quicklisp/software/restas-20120107-git/slime/")
(add-to-list 'load-path "~/.emacs.d/site-lisp/slime-archimag/")
;(push  "~/.emacs.d/site-lisp/slime-archimag/" load-path)

; (require 'slime)
(load "~/.emacs.d/site-lisp/slime-archimag/slime.el")

(slime-setup '(slime-fancy))

(setq slime-net-coding-system 'utf-8-unix)
(setq common-lisp-hyperspec-root "/usr/share/doc/HyperSpec/")
(defmacro lisp-slime (lisp path &optional coding)
  (let ((funname (intern (format "%s-slime" lisp))))
    `(defun ,funname ()
       (interactive)
       (let ((inferior-lisp-program ,path)
	     (slime-net-coding-system (or ,coding 'utf-8-unix)))
	 (slime)))))

(lisp-slime sbcl "/usr/bin/sbcl")
(lisp-slime clisp "/usr/bin/clisp")



(setq slime-backend "~/.emacs.d/site-lisp/slime-archimag/swank-loader.lisp")
(require 'restas)
ados ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.