jsk-ros-pkg / euslime Goto Github PK
View Code? Open in Web Editor NEWEmacs SLIME for Euslisp
License: BSD 3-Clause "New" or "Revised" License
Emacs SLIME for Euslisp
License: BSD 3-Clause "New" or "Revised" License
How to run from a devel build?
[DEBUG - server:L76] raw header: 000062
[DEBUG - server:L83] raw data: (:emacs-rex (swank-repl:listener-eval "(send a :newcoords cam-coords)
") "USER" :repl-thread 223)
[DEBUG - protocol:L67] Processing id: 223 ...
[INFO - protocol:L69] func: swank_repl_listener_eval
[INFO - protocol:L70] args: [u'(send a :newcoords cam-coords)\n']
[DEBUG - handler:L198] Acquiring lock: <thread.lock object at 0x7f0a3445b590>
[INFO - bridge:L362] eval: (send a :newcoords cam-coords)
[DEBUG - bridge:L118] repl output finished
[DEBUG - bridge:L218] Socket Response: error
[DEBUG - bridge:L239] Waiting for socket data...
[DEBUG - bridge:L246] Socket Request Type: error
[DEBUG - bridge:L218] Socket Response: "sequence expected in (slime:slimetop)"
[DEBUG - bridge:L218] Socket Response: abort
[DEBUG - bridge:L239] Waiting for socket data...
[DEBUG - bridge:L218] Socket Response: nil
[DEBUG - bridge:L295] Ignoring: [abort] nil
[INFO - bridge:L303] exec: (slime:print-callstack 14)
[DEBUG - bridge:L113] accumulating output: Call Stack (max depth: 14):
0: at (slime:print-callstack 14)
1: at slime:slime-error
2: at slime:slime-error
3: at (slime:slimetop)
4: at (slime:slimetop)
5: at #<compiled-code #X5641c77c6f50>
[DEBUG - bridge:L118] repl output finished
[DEBUG - bridge:L218] Socket Response: error
[DEBUG - bridge:L239] Waiting for socket data...
[DEBUG - bridge:L246] Socket Request Type: error
[DEBUG - bridge:L218] Socket Response: "print-callstack in (slime:print-callstack 14)"
[DEBUG - bridge:L258] Waiting for repl output...
[ERROR - handler:L229] Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/handler.py", line 201, in swank_eval
for val in self.euslisp.eval(sexp):
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/bridge.py", line 368, in eval
for r in self.get_socket_result(connection, wait=True):
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/bridge.py", line 276, in get_socket_result
gen = self.get_socket_response(connection)
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/bridge.py", line 266, in get_socket_response
raise EuslispError(msg, stack)
EuslispError: Sequence expected in (slime:slimetop)
[ERROR - protocol:L87] Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/protocol.py", line 79, in process
for resp in gen:
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/handler.py", line 235, in swank_eval
raise e
EuslispError: Sequence expected in (slime:slimetop)
[DEBUG - server:L39] response: [Symbol(':debug'), 0, 1, ['Sequence expected in (slime:slimetop)', '', None], [['QUIT', 'Quit to the SLIME top level'], ['CONTINUE', 'Ignore the error and continue in the same stack level'], ['RESTART', 'Restart euslisp process']], [[0, '(slime:slimetop)', [Symbol(':restartable'), False]], [1, '(slime:slimetop)', [Symbol(':restartable'), False]], [2, '#<compiled-code #X5641c77c6f50>', [Symbol(':restartable'), False]]], [None]]
[DEBUG - bridge:L118] repl output finished
[DEBUG - protocol:L92] ... Finished processing id: 223
[DEBUG - server:L76] raw header: 000043
[DEBUG - server:L83] raw data: (:emacs-rex (swank:invoke-nth-restart-for-emacs 1 0) "USER" 0 224)
[DEBUG - protocol:L67] Processing id: 224 ...
[INFO - protocol:L69] func: swank_invoke_nth_restart_for_emacs
[INFO - protocol:L70] args: [1, 0]
(:emacs-rex
(swank-repl:listener-eval "(send a :newcoords cam-coords)\n")
"USER" :repl-thread 223)
(:debug 0 1
("Sequence expected in (slime:slimetop)" "" nil)
(("QUIT" "Quit to the SLIME top level")
("CONTINUE" "Ignore the error and continue in the same stack level")
("RESTART" "Restart euslisp process"))
((0 "(slime:slimetop)"
(:restartable nil))
(1 "(slime:slimetop)"
(:restartable nil))
(2 "#<compiled-code #X5641c77c6f50>"
(:restartable nil)))
(nil))
do-until-key
and other functions that use select-stream
don't work as expected.
(defmacro do-until-key-with-check
(check &rest forms)
`(prog1
(while (and (null (select-stream (list *standard-input*) 0.0000001))
(eval ,check))
,@forms
)
(let ((strm (car (select-stream (list *standard-input*) 0.1)))) (if strm (read-line strm nil nil)))
))
This is happening because since there is no active read call to the stream the slime read-mode is not activated, causing input to be classified as a new repl request which is put on standby until the first evaluation is done.
slime-events
(:emacs-rex
(swank-repl:listener-eval "(do-until-key (print 1) (unix:sleep 1))\n")
"USER" :repl-thread 61)
(:write-string "1\n")
(:write-string "1\n")
(:write-string "1\n")
(:emacs-rex
(swank-repl:listener-eval "end\n")
"USER" :repl-thread 62)
(:write-string "1\n")
(:write-string "1\n")
inferior-lisp
[DEBUG - server:L80] raw header: 000046
[DEBUG - server:L87] raw data: (:emacs-rex (swank-repl:listener-eval "end
") "USER" :repl-thread 62)
[DEBUG - protocol:L69] Processing id: 62 ...
[INFO - protocol:L71] func: swank_repl_listener_eval
[INFO - protocol:L72] args: [u'end\n']
[DEBUG - handler:L216] Acquiring lock: <thread.lock object at 0x7fb27b0df590>
[DEBUG - server:L45] output: 1
[DEBUG - server:L45] output: 1
Ros build is currently failing with:
File "/tmp/pip-build-env-D96krl/overlay/lib/python2.7/site-packages/setuptools/command/py36compat.py", line 120, in _add_defaults_ext
self.filelist.extend(build_ext.get_source_files())
File "setup.py", line 201, in get_source_files
self.cython_sources(ext.sources, ext)
File "/usr/lib/python2.7/distutils/cmd.py", line 105, in __getattr__
raise AttributeError, attr
AttributeError: cython_sources
----------------------------------------
https://build.ros.org/job/Nbin_ufv8_uFv8__euslime__ubuntu_focal_arm64__binary/82/display/redirect
Most likely a version dependency issue, but I couldn't take the time to setup a local build and debug.
In case anyone wants to give it a shot in bumping the dependencies and releasing a fix:
@sktometometo
@YUKINA-3252
Describe the bug
Emacs crashes
To Reproduce
without a proper master:
Log *slime-events*
(:emacs-rex
(swank-repl:listener-eval "(baxter-init)\n")
"USER" :repl-thread 44)
(:write-string "^[[31m[ERROR] [1650021924.495021658]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying...^[[\
0m\n")
(:emacs-interrupt :repl-thread)
(:emacs-rex
(swank:set-package "")
"USER" :repl-thread 45)
Log *inferior-lisp*
[DEBUG - protocol:L69] Processing id: 44 ...
[INFO - protocol:L71] func: swank_repl_listener_eval
[INFO - protocol:L72] args: [u'(baxter-init)\n']
[DEBUG - handler:L216] Acquiring lock: <thread.lock object at 0x7f996c698590>
[INFO - bridge:L371] eval: (baxter-init)
[DEBUG - server:L45] output: [ERROR] [1650021924.495021658]: [registerPublisher] Failed to contact master at [localhost:11311]. Retrying...
[DEBUG - server:L80] raw header: 000020
[DEBUG - server:L87] raw data: (:emacs-interrupt :repl-thread)
[INFO - protocol:L71] func: _emacs_interrupt
[INFO - protocol:L72] args: [Symbol(u':repl-thread')]
[DEBUG - server:L80] raw header: 00003b
[DEBUG - server:L87] raw data: (:emacs-rex (swank:set-package "") "USER" :repl-thread 45)
[DEBUG - protocol:L69] Processing id: 45 ...
[INFO - protocol:L71] func: swank_set_package
[INFO - protocol:L72] args: [u'']
[DEBUG - handler:L611] Acquiring lock: <thread.lock object at 0x7f996c698590>
Process inferior-lisp terminated
When entering a prompt with multiple s-expressions, such as (print 1) (print 2)
, only the first expression is evaluated (i.e. (print 1)
).
This is especially annoying when trying to paste multiple lines of code.
I failed in catkin build. This is the log.
yoshiki@yoshiki:~/euslime_ws$ catkin build
-------------------------------------------------------------
Profile: default
Extending: [env] /opt/ros/melodic
Workspace: /home/yoshiki/euslime_ws
-------------------------------------------------------------
Build Space: [exists] /home/yoshiki/euslime_ws/build
Devel Space: [exists] /home/yoshiki/euslime_ws/devel
Install Space: [missing] /home/yoshiki/euslime_ws/install
Log Space: [missing] /home/yoshiki/euslime_ws/logs
Source Space: [exists] /home/yoshiki/euslime_ws/src
DESTDIR: [unused] None
-------------------------------------------------------------
Devel Space Layout: linked
Install Space Layout: merged
-------------------------------------------------------------
Additional CMake Args: None
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
Cache Job Environments: False
-------------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
-------------------------------------------------------------
Workspace configuration appears valid.
NOTE: Forcing CMake to run for each package.
-------------------------------------------------------------
[build] Found '1' packages in 0.0 seconds.
Starting >>> catkin_tools_prebuild
Finished <<< catkin_tools_prebuild [ 1.6 seconds ]
Starting >>> euslime
_______________________________________________________________________________
Warnings << euslime:cmake /home/yoshiki/euslime_ws/logs/euslime/build.cmake.000.log
*** Arguments ['entry_points'] to setup() not supported in catkin devel space in setup.py of euslime
cd /home/yoshiki/euslime_ws/build/euslime; catkin build --get-env euslime | catkin env -si /usr/bin/cmake /home/yoshiki/euslime_ws/src/euslime --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/yoshiki/euslime_ws/devel/.private/euslime -DCMAKE_INSTALL_PREFIX=/home/yoshiki/euslime_ws/install; cd -
...............................................................................
_______________________________________________________________________________
Errors << euslime:install /home/yoshiki/euslime_ws/logs/euslime/build.install.000.log
CMake Error at cmake_install.cmake:157 (file):
file INSTALL cannot find
"/home/yoshiki/euslime_ws/src/euslime/slime-repl-ansi-color/README.md".
make: *** [install] Error 1
cd /home/yoshiki/euslime_ws/build/euslime; catkin build --get-env euslime | catkin env -si /usr/bin/make install; cd -
...............................................................................
Failed << euslime:install [ Exited with code 2 ]
Failed <<< euslime [ 1.5 seconds ]
[build] Summary: 1 of 2 packages succeeded.
[build] Ignored: None.
[build] Warnings: 1 packages succeeded with warnings.
[build] Abandoned: None.
[build] Failed: 1 packages failed.
[build] Runtime: 3.1 seconds total.
[build] Note: Workspace packages have changed, please re-source setup files to use them.
yoshiki
is user.
Describe the bug
[DEBUG - bridge:L226] Socket Response: (:emacs-rex (swank:load-file "paper-folding-right.l") "USER" :repl-thread 5)
[DEBUG - server:L94] raw data: 00004d (:emacs-rex (swank:load-file "paper-folding-right.l") "USER" :repl-thread 5)
[DEBUG - protocol:L69] Processing id: 5 ...
[INFO - protocol:L71] func: swank_load_file
[INFO - protocol:L72] args: [u'paper-folding-right.l']
[DEBUG - handler:L548] Acquiring lock: <thread.lock object at 0x7fed87d5c590>
[DEBUG - server:L40] response: [Symbol(':write-string'), u'Loading file: paper-folding-right.l ...\n']
[INFO - bridge:L358] eval: (slime::load-file-and-tags "paper-folding-right.l")
[DEBUG - bridge:L226] Socket Response: 000057
[DEBUG - bridge:L226] Socket Response: (:emacs-rex (swank:find-tag-name-for-emacs "reset-pose" "USER") "USER" :repl-thread 6)
[DEBUG - server:L94] raw data: 000057 (:emacs-rex (swank:find-tag-name-for-emacs "reset-pose" "USER") "USER" :repl-thread 6)
[DEBUG - protocol:L69] Processing id: 6 ...
[INFO - protocol:L71] func: swank_find_tag_name_for_emacs
[INFO - protocol:L72] args: [u'reset-pose', u'USER']
[INFO - bridge:L332] exec_internal: (slime::find-tag-name-for-emacs "reset-pose" "USER")
[DEBUG - bridge:L334] Acquiring lock: <thread.lock object at 0x7fed87d5c5b0>
[DEBUG - bridge:L226] Socket Response: #i(48
[ERROR - protocol:L89] Traceback (most recent call last):
File "/home/baxter/ros/melodic/src/euslime/src/euslime/protocol.py", line 81, in process
for resp in gen:
File "/home/baxter/ros/melodic/src/euslime/src/euslime/handler.py", line 607, in swank_find_tag_name_for_emacs
yield EuslispResult(self.euslisp.exec_internal(cmd))
File "/home/baxter/ros/melodic/src/euslime/src/euslime/bridge.py", line 340, in exec_internal
res = gen_to_string(gen)
File "/home/baxter/ros/melodic/src/euslime/src/euslime/bridge.py", line 36, in gen_to_string
return ''.join([x for x in list(gen) if isinstance(x, str)])
File "/home/baxter/ros/melodic/src/euslime/src/euslime/bridge.py", line 287, in get_socket_result
gen = self.get_socket_response(connection)
File "/home/baxter/ros/melodic/src/euslime/src/euslime/bridge.py", line 255, in get_socket_response
command, data = self.recv_socket_data(connection)
File "/home/baxter/ros/melodic/src/euslime/src/euslime/bridge.py", line 246, in recv_socket_data
command = self.recv_socket_next(connection, wait=wait)
File "/home/baxter/ros/melodic/src/euslime/src/euslime/bridge.py", line 236, in recv_socket_next
hex_len = int(head_data, 16)
ValueError: invalid literal for int() with base 16: '#i(48 '
Several internal erros and miscompletions.
Describe the bug
Full output is not shown before error message
Log *inferior-lisp*
[INFO - bridge:L383] eval: (mapcar #'foo hoge)
[DEBUG - server:L46] output: ("class_file" . "/project_data/rcup_20220218_pick_nopb/models/class.yaml")
("control_joints" (("name" . "r_shoulder_pan_joint") ("type" . "revolute")) (("name" . "r_shoulder_lift_joint") ("type" . "revolute")) (("name" . "r_upper_arm_roll_joint") ("type" . "revolute")) (("name" . "r_elbow_flex_joint") ("type" . "revolute")) (("cl
[DEBUG - bridge:L226] Socket Response: 000005
[DEBUG - bridge:L226] Socket Response: error
[DEBUG - bridge:L249] Waiting for socket data...
[DEBUG - bridge:L226] Socket Response: 00001a
[DEBUG - bridge:L256] Socket Request Type: error
[DEBUG - bridge:L226] Socket Response: "list expected in (cdr a)"
[DEBUG - bridge:L226] Socket Response: 000005
[DEBUG - bridge:L226] Socket Response: abort
[DEBUG - bridge:L116] accumulating output: amp" . t) ("name" . "r_forearm_roll_joint") ("type" . "continuous")) (("name" . "r_wrist_flex_joint") ("type" . "revolute")) (("clamp" . t) ("name" . "r_wrist_roll_joint") ("type" . "continuous")))
(("name" . "r_shoulder_pan_joint") ("type" . "revolute"))
("type" . "revolute")
(("name" . "r_shoulder_lift_joint") ("type" . "revolute"))
("type" . "revolute")
(("name" . "r_upper_arm_roll_joint") ("type" . "revolute"))
("type" . "revolute")
(("name" . "r_elbow_flex_joint") ("type" . "revolute"))
("type" . "revolute")
(("clamp" . t) ("name" . "r_forearm_roll_joint") ("type" . "continuous"))
("name" . "r_forearm_roll_joint")
("type" . "continuous")
(("name" . "r_wrist_flex_joint") ("type" . "revolute"))
("type" . "revolute")
(("clamp" . t) ("name" . "r_wrist_roll_joint") ("type" . "continuous"))
("name" . "r_wrist_roll_joint")
("type" . "continuous")
("dim_list" 6 7)
6
[DEBUG - bridge:L249] Waiting for socket data...
[DEBUG - bridge:L121] repl output finished
[DEBUG - bridge:L226] Socket Response: 000003
[DEBUG - bridge:L226] Socket Response: nil
[DEBUG - bridge:L316] Ignoring: [abort] nil
[INFO - bridge:L324] exec: (slime:print-callstack 14)
[DEBUG - bridge:L116] accumulating output: Call Stack (max depth: 14):
0: at (slime:print-callstack 14)
1: at slime:slime-error
2: at slime:slime-error
3: at (cdr a)
4: at (consp (cdr a))
5: at (if (consp (cdr a)) (mapcar #'foo (cdr a)) (cons (intern (string-upcase (car a))) (cdr a)))
6: at (mapcar #'foo (cdr a))
7: at (mapcar #'foo (cdr a))
8: at (if (consp (cdr a)) (mapcar #'foo (cdr a)) (cons (intern (string-upcase (car a))) (cdr a)))
9: at (mapcar #'foo hoge)
10: at (mapcar #'foo hoge)
11: at (slime:slimetop)
12: at (slime:slimetop)
13: at #<compiled-code #X56468267ff50>
[DEBUG - bridge:L121] repl output finished
[DEBUG - bridge:L226] Socket Response: 000005
[DEBUG - bridge:L226] Socket Response: error
[DEBUG - bridge:L249] Waiting for socket data...
[DEBUG - bridge:L226] Socket Response: 00002f
[DEBUG - bridge:L256] Socket Request Type: error
[DEBUG - bridge:L226] Socket Response: "print-callstack in (slime:print-callstack 14)"
[DEBUG - bridge:L272] Waiting for repl output...
[DEBUG - bridge:L121] repl output finished
[ERROR - handler:L274] Traceback (most recent call last):
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/handler.py", line 239, in swank_eval
for val in self.euslisp.eval(sexp):
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/bridge.py", line 389, in eval
for r in self.get_socket_result(connection, wait=True):
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/bridge.py", line 290, in get_socket_result
gen = self.get_socket_response(connection)
File "/opt/ros/melodic/lib/python2.7/dist-packages/euslime/bridge.py", line 280, in get_socket_response
raise EuslispError(msg, stack)
EuslispError: List expected in (cdr a)
Hi!
I executed these commands.
source /opt/ros/melodic/setup.bash
source ~/semi_ws/devel/setup.bash
Then I executed this commands,
rospack find pr2eus
terminal shows
/home/user/semi_ws/src/jsk_pr2eus/pr2eus
However after these commands, I executed
source ~/euslime_ws/install/setup.bash
rospack find pr2eus
and terminal shows,
/opt/ros/melodic/share/pr2eus
I want to use pr2eus in semi_ws/src/jsk_pr2eus
on euslime. How can I fix this trouble?
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.