Перша проблема з якою зустрiвся коли розбирався з weblocks - "кешування" коду. Маю на увазi що якщо Ви завантажили weblocks-додаток i зробили змiни в якомусь файлi пiсля цього, на додатку змiни нiяк не вiдобразяться. Щоб побачити змiни в браузерi потрiбно вiдiслати (виконати) модифiкований код. Може це влаштовує користувачiв slime, але з vim-ом менi довелось не солодко.
Для vim-а використовував nekthuth який пiсля доробки напильником влаштовував. Зараз перейшов на iнше рiшення. Просто кладу шматок коду в додаток i змiненi файли пiдвантажуються самi. Мiнуси в даного рiшення думаю проявляться як тiльки потрiбно буде працювати з сесiєю.
Ось цей код (доступний також тут http://gist.github.com/525328)
(defvar *files-modification-stamps* (make-hash-table :test #'equal))
(defun load-modified-files()
(dolist (i (directory "src/**/*.lisp"))
(let* ((mtime-unix (sb-posix:stat-mtime (sb-posix:stat i)))
(cell (or (gethash i *files-modification-stamps*) (setf (gethash i *files-modification-stamps*) mtime-unix)))
(any-file-modified nil))
(when (< cell mtime-unix)
(format t "Updated file ~A with last-modified time ~A~%" i mtime-unix)
(load (compile-file i))
(setf (gethash i *files-modification-stamps*) mtime-unix)
(setf any-file-modified t))
(if any-file-modified (redirect (make-action-url "debug-reset-sessions"))))))
(setf (request-hook :application :pre-action) (list #'load-modified-files))
Оновлення, 22.08.2011
Почав використовувати vim+slimv, тепер код запускаю прямо через swank тільки виникає інша проблемка (треба перезапускати сесії Weblocks), яка вирішується отут - http://olexiy.info/article/18