(defpackage :slynk-retro (:use :cl :slynk :slynk-api)) (in-package :slynk-retro) (defun ensure-slynk-package-nicknames (&rest ignored) "Nickname all SLYNK-* package to SWANK-*" (declare (ignore ignored)) (loop for package in (list-all-packages) for package-name = (package-name package) when (search "SLYNK" package-name :test #'char-equal) do (rename-package package package-name (remove-duplicates (cons (format nil "SWANK~a" (subseq package-name 5)) (package-nicknames package)) :test #'string-equal)))) (defun load-swankrcs-maybe () (find-if (lambda (homedir-file) (load (merge-pathnames (user-homedir-pathname) homedir-file) :if-does-not-exist nil)) (list (make-pathname :name ".swank" :type "lisp") (make-pathname :name ".swankrc")))) (setq slynk-rpc:*translating-swank-to-slynk* nil) (push #'ensure-slynk-package-nicknames slynk-api:*slynk-require-hook*) (ensure-slynk-package-nicknames) ;;; Take this chance to load ~/.swank.lisp and ~/.swankrc if no ;;; ~/.slynk.lisp or ~/.slynkrc have already been loaded. ;;; (unless slynk-api:*loaded-user-init-file* (setq slynk-api:*loaded-user-init-file* (load-swankrcs-maybe))) (provide :slynk/retro)