No version for distro humble showing melodic. Known supported distros are highlighted in the buttons above.
Repo symbol

euslime repository

euslime

ROS Distro
melodic

Repository Summary

Checkout URI https://github.com/jsk-ros-pkg/euslime.git
VCS Type git
VCS Version master
Last Updated 2022-11-06
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
euslime 1.1.4

README

euslime

Interactive interpreter for EusLisp with support for completion, on-spot referencing, auto-documetation, definition search, and more. Euslime is built on top of slime and runs on emacs.

For a quick guide to emacs try the following links:

Quick Start

  1. Install
    apt install ros-melodic-euslime
    
  1. Configure your emacs init file
    ;; ~/.emacs.el
    (add-to-list 'load-path "/opt/ros/melodic/share/euslime")
    (require 'euslime-config)
    (setq inferior-euslisp-program "roseus")
    (slime-setup '(slime-fancy slime-banner slime-repl-ansi-color))
    
  1. Run

    Open emacs and type the command:

    M-x euslime
    

Using with eus10

Compile from source with the eus10 branch: https://github.com/jsk-ros-pkg/euslime/tree/eus10.

The following command allows to automatically shift between apt and source euslisp builds.

;; ~/.emacs.el
(if (string-prefix-p "/opt" (getenv "EUSDIR"))
    (progn
      (add-to-list 'load-path "/opt/ros/melodic/share/euslime")
      (setq euslime-compile-path (expand-file-name "~/.euslime_opt/")))
  (add-to-list 'load-path "/home/affonso/euslime_ws/install/share/euslime"))
(require 'euslime-config)
(setq inferior-euslisp-program "roseus")
(slime-setup '(slime-fancy slime-banner slime-repl-ansi-color))

Logging

The following setting will save logs of all your sessions on exit.

;; ~/.emacs.el
(defun euslime-save-logs ()
  (when (get-buffer "*slime-events*")
    (with-current-buffer (get-buffer "*slime-events*")
      (let* ((logdir (concat (file-name-as-directory euslime-compile-path) "log"))
             (filename (concat "euslog." (format-time-string "%s" (current-time)))))
        (unless (file-exists-p logdir)
          (make-directory logdir t))
        (write-file (expand-file-name filename logdir))))))
(add-hook 'kill-emacs-hook 'euslime-save-logs)

Cheat sheet

On slime buffer  
[TAB] completion
C-c C-d d describe/ help
C-c C-d a apropos
C-c C-d p apropos package
M-. look for definition
C-c [RET] macroexpansion
,quit quit session
,restart-inferior-lisp restart session
,rossetip set ros ip and hostname
,rossetmaster set ros master uri
On editing buffers  
C-c TAB completion
C-c C-c load expression
C-c C-l load-file
C-c C-d o go back to repl buffer
On other slime buffers  
q quit buffer
[RET] select option

Build from Source

  1. Setup

```bash # Clone code

File truncated at 100 lines see the full file