(defun slime-describe-symbol-sync (symbol-name) (unless symbol-name (error "No symbol given")) (with-current-buffer (slime-output-buffer) (slime-with-output-end-mark (slime-mark-output-start))) (let ((package (slime-current-package)) (result (slime-eval `(swank:describe-symbol ,symbol-name)))) (with-current-buffer (slime-output-buffer) (slime-show-last-output) (slime-show-description result package)))) (defun th-lisp-mode-handler () (th-elisp-get-help-text #'slime-describe-symbol-sync (current-word) "*SLIME Description*"))