summaryrefslogtreecommitdiff
path: root/modules/ssh/dist (follow)
Commit message (Expand)AuthorAgeFilesLines
* modules/ssh/dist/node.scm: Update copyright datesArtyom V. Poptsov2018-03-081-1/+1
* node.scm: Improve error handling•••* modules/ssh/dist/node.scm: Improve error handling: throw an error with the current node and the error code from the server. Log errors to the main log. * doc/api-dist.texi: Update. Artyom V. Poptsov2018-03-081-4/+9
* node.scm (node-run-server): Check return code•••* modules/ssh/dist/node.scm (node-run-server): Check return code of the executed command, throw a 'node-error' on a non-zero code. * AUTHORS, NEWS, THANKS: Update. Artyom V. Poptsov2018-03-051-6/+9
* node.scm (node-eval): Always close the REPL channel.•••* modules/ssh/dist/node.scm (node-eval): Use 'dynamic-wind' to systematically close REPL-CHANNEL. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2017-06-161-5/+12
* node.scm (node-guile-version): Bugfix•••'node-guile-version' would always fail due to a wrong call to 'rexec' procedure passing it a node object instead of a session object. This patch fixes the bug. Reported by Mark H Weaver <mhw@netris.org> and Ludovic Courtès <ludo@gnu.org>: <https://bugs.gnu.org/26976> * modules/ssh/dist/node.scm (node-guile-version): Pass node session to a 'rexec' procedure instead of a node object. * tests/common.scm (start-server/exec): Handle node version requests. * tests/dist.scm ("node-guile-version, valid response"): New test case. * NEWS: Update. Artyom V. Poptsov2017-05-211-1/+1
* node.scm (rrepl-get-result): Fix code formatting•••* modules/ssh/dist/node.scm (rrepl-get-result): Fix code formatting. Artyom V. Poptsov2017-05-021-3/+7
* node.scm (rrepl-get-result): Handle unknown # objects properly•••The procedure would always fail to read unknown objects (e.g. instances of Guile-SSH session) properly, raising an obscure errors like "Unknown # object: #\<". Now the procedure raises 'node-repl-error' with full evaluation result gotten from RREPL. Reported by Mathieu, in <https://github.com/artyom-poptsov/guile-ssh/issues/3> * modules/ssh/dist/node.scm (rrepl-get-result): Handle unknown # objects properly. * tests/dist.scm ("rrepl-get-result, unknown # object error"): New test case. * NEWS: Update Artyom V. Poptsov2017-05-021-20/+33
* node.scm (rrepl-get-result): Handle "unbound variable" errors•••The procedure would always fail to read "unbound variable" errors properly, returning wrong result with only two values (current module name and current language name). Now this bug should be fixed. Reported by Mathieu, in <https://github.com/artyom-poptsov/guile-ssh/issues/3> * modules/ssh/dist/node.scm (rrepl-get-result): Handle "unbound variable" errors. * tests/dist.scm ("rrepl-get-result, unbound variable error"): New test case. * AUTHORS, NEWS: Update. Artyom V. Poptsov2017-04-301-1/+8
* node.scm (rrepl-get-result): Bugfix: Handle compilation errors•••Guile-SSH would always fail to read compilation errors properly because it considered the message as "undefined" result. Now this bug should be fixed. An example of an error that now should be handled is "no code for module" due to using a non-existing module in 'with-ssh' expression. Reported by Mathieu, in <https://github.com/artyom-poptsov/guile-ssh/issues/3> * modules/ssh/dist/node.scm (rrepl-get-result): Bugfix: Do not consider compilation errors as undefined results. (rrepl-eval): Call 'exit' on the remote side to ensure that the remote side closed a channel. * tests/dist.scm: Improve logging. ("rrepl-get-result, compilation error"): New TC. * doc/guile-ssh.texi (Acknowledgments): Update. * AUTHORS, NEWS, THANKS: Update. Artyom V. Poptsov2017-04-231-40/+58
* node.scm (issue-procps-warning): New procedure•••* modules/ssh/dist/node.scm (issue-procps-warning): New procedure. (node-server-running?, node-stop-server): Use it. Artyom V. Poptsov2017-01-041-12/+12
* dist.scm, node.scm: Update copyright dates•••* modules/ssh/dist.scm, modules/ssh/dist/node.scm: Update copyright dates. Artyom V. Poptsov2017-01-031-1/+1
* node.scm (rrepl-skip-to-prompt): Use 'when'•••* modules/ssh/dist/node.scm (rrepl-skip-to-prompt): Use 'when'. Artyom V. Poptsov2017-01-011-4/+2
* node.scm (node-loadavg): New procedure•••* modules/ssh/dist.scm (with-ssh): Move to (ssh dist node); re-export the procedure. * modules/ssh/dist/node.scm (node-loadavg): New procedure. Artyom V. Poptsov2017-01-011-0/+31
* shell.scm (fallback-pgrep): Add dumb 'full?' option•••* modules/ssh/shell.scm (fallback-pgrep): Add dumb 'full?' option so the procedure can be used as drop-in replacement to 'pgrep' where full search is performed (e.g. in (ssh dist node)). * modules/ssh/dist/node.scm (node-server-running?): Update. Artyom V. Poptsov2016-12-251-8/+2
* node.scm (procps-available?): New procedure•••* modules/ssh/dist/node.scm (procps-available?): New procedure. (node-server-running?, node-stop-server): Use it. Artyom V. Poptsov2016-12-251-7/+7
* shell.scm (fallback-pkill): New procedure•••* modules/ssh/shell.scm (fallback-pkill): New procedure. * modules/ssh/dist/node.scm (node-stop-server): Use it. Improve logging. Artyom V. Poptsov2016-12-251-9/+20
* node.scm (node-stop-server): Use SIGKILL signal as the last resort•••* modules/ssh/dist/node.scm (node-stop-server): Try to SIGTERM the RREPL server first, then use SIGKILL signal. Add logging. * modules/ssh/shell.scm (pkill): Allow to specify signal to send. Artyom V. Poptsov2016-12-251-0/+9
* node.scm (node-server-running?): Fix the check•••* modules/ssh/dist/node.scm (node-server-running?) <guile-up-and-running?>: Fix the check. Artyom V. Poptsov2016-12-251-2/+2
* shell.scm (pkill): New procedure•••* modules/ssh/shell.scm (pkill): New procedure * modules/ssh/dist/node.scm (node-stop-server): Use it. Artyom V. Poptsov2016-12-181-3/+3
* shell.scm (command-available?): New procedure•••* modules/ssh/shell.scm (command-available?): New procedure. * modules/ssh/dist/node.scm (node-server-running?): Use it. Artyom V. Poptsov2016-12-131-3/+1
* shell.scm: New module•••* modules/ssh/shell.scm: New module. * modules/ssh/dist/node.scm: Move all shell related procedures to (ssh shell). Use (ssh shell). * modules/ssh/Makefile.am (SCM_SOURCES): Add 'shell.scm'. Artyom V. Poptsov2016-12-131-58/+13
* node.scm: Implement a fallback pgrep•••* modules/ssh/dist/node.scm (which, pgrep, fallback-pgrep): New procedures. (node-server-running?): Fallback to a Guile-SSH implementation of 'pgrep' if procps tools aren't available on a node; issue a libssh warning if fallback pgrep is used. Artyom V. Poptsov2016-12-111-12/+72
* node.scm: Update copyright dates•••* modules/ssh/dist/node.scm: Update copyright dates Artyom V. Poptsov2016-07-311-1/+1
* node.scm (node-server-running?): Bugfix: Check if default port is set•••* modules/ssh/dist/node.scm (node-server-running?): Bugfix: Check if default port is set for node before checking for RREPL with that port. Artyom V. Poptsov2016-07-311-4/+7
* node.scm (node-server-running?): Bugfix: Check the default port•••'node-server-running?' would always fail to detect running Guile REPL server if no port was specified to '--listen' option. The patch fixes that. * modules/ssh/dist/node.scm (node-server-running?): Check for a Guile REPL process started with default port. Artyom V. Poptsov2016-07-311-7/+14
* node.scm (rexec): Read all output lines•••* modules/ssh/dist/node.scm (rexec): Read all output lines, return the list of lines. All callers updated. (node-guile-version): Update. Artyom V. Poptsov2016-06-121-4/+10
* modules/ssh/dist/node.scm: Update the module commentaryArtyom V. Poptsov2015-12-201-0/+1
* node.scm: Allow to stop a RREPL server•••* modules/ssh/dist/node.scm (make-node): Add 'stop-repl-server?' keyed option. (node-stop-server): New procedure. (node-eval): Stop a REPL server after evaluation is done, if it is explicitly requested. * doc/api-dist.texi: Update description of 'make-node', add description of 'node-stop-server'. * NEWS: Update. Artyom V. Poptsov2015-12-201-6/+24
* node.scm (node-run-server): Use a remote pipe•••* modules/ssh/dist/node.scm (node-run-server): Use a remote pipe to execute a command. Artyom V. Poptsov2015-12-181-7/+5
* popen.scm: New module•••* modules/ssh/popen.scm: New module. * modules/ssh/Makefile.am (SCM_SOURCES): Add 'popen.scm'. * modules/ssh/channel.scm: Move 'open-remote-*' procedures to (ssh popen). * modules/ssh/dist/node.scm, tests/popen.scm: Use (ssh popen). * NEWS, README: Update. Artyom V. Poptsov2015-12-061-0/+1
* node.scm (node-server-running?): Bugfix: Check the return code•••* modules/ssh/dist/node.scm (node-server-running?): Bugfix: Check the return code of the executed command. Artyom V. Poptsov2015-12-061-6/+7
* node.scm (node-guile-version): Bugfix•••* modules/ssh/dist/node.scm (node-guile-version): Bugfix: Ignore 'which' output. Artyom V. Poptsov2015-12-061-1/+1
* node.scm (rexec): Use 'open-remote-input-pipe'•••* modules/ssh/dist/node.scm (rexec): Use 'open-remote-input-pipe'; simplify the code. Artyom V. Poptsov2015-12-061-7/+2
* modules/ssh/dist/node.scm: Export 'node-tunnel'•••* modules/ssh/dist/node.scm: Export 'node-tunnel'. * NEWS: Update. Artyom V. Poptsov2015-11-241-0/+1
* node.scm (rrepl-get-result): Remove extra 'begin'•••* modules/ssh/dist/node.scm (rrepl-get-result): Remove extra 'begin'. Artyom V. Poptsov2015-10-291-21/+20
* node.scm (rrepl-get-result): Add a sub-procedure•••* modules/ssh/dist/node.scm (rrepl-get-result) <parse-result>: New sub-procedure. <read-result>: Use it. Artyom V. Poptsov2015-10-291-10/+11
* node.scm (rrepl-get-result): Wrap a long line•••* modules/ssh/dist/node.scm (rrepl-get-result) <read-result>: Wrap a long line. Artyom V. Poptsov2015-10-291-1/+2
* node.scm (rrepl-get-result): Clarify the things•••* modules/ssh/dist/node.scm (rrepl-get-result) <read-result>: Make the code clearer, add a comment near the tricky part. Artyom V. Poptsov2015-10-291-4/+7
* node.scm (rrepl-get-result): Simplify code a bit•••* modules/ssh/dist/node.scm (rrepl-get-result): Simplify 'read-result' code a bit. Artyom V. Poptsov2015-10-291-7/+3
* node.scm (rrepl-get-result): Remove extra 'let'•••* modules/ssh/dist/node.scm (rrepl-get-result): Remove extra 'let'. Artyom V. Poptsov2015-10-291-29/+29
* node.scm (read-string): New procedure•••* modules/ssh/dist/node.scm (read-string): New procedure. (rrepl-get-result): Use it. Artyom V. Poptsov2015-10-291-9/+8
* node.scm (eof-or-null?): New procedure•••* modules/ssh/dist/node.scm (eof-or-null?): New procedure. (rrepl-get-result): Use it. Artyom V. Poptsov2015-10-291-2/+7
* node.scm: Add comments to <node> fields•••* modules/ssh/dist/node.scm: Add comments to <node> fields. Artyom V. Poptsov2015-10-291-3/+3
* Merge branch 'wip-rrepl-autostart'Artyom V. Poptsov2015-10-171-8/+65
|\
| * modules/ssh/dist/node.scm: Update the module commentaryArtyom V. Poptsov2015-10-171-0/+3
| * node.scm (run-rrepl-server, rrepl-running?): Rename•••* modules/ssh/dist/node.scm (rrepl-running?): Rename to 'node-server-running?'. All callers updated. (run-rrepl-server): Rename to 'node-run-server'. Update. All callers updated. (node-open-rrepl): Update. Artyom V. Poptsov2015-10-171-8/+8
| * modules/ssh/dist/node.scm (run-rrepl-server): ExportArtyom V. Poptsov2015-10-171-0/+1
| * modules/ssh/dist/node.scm (rrepl-running?): ExportArtyom V. Poptsov2015-10-171-1/+2
| * modules/ssh/dist/node.scm (make-node): Update docstringArtyom V. Poptsov2015-10-171-1/+3
| * node.scm (rrepl-running?): Close a RREPL port•••* modules/ssh/dist/node.scm (rrepl-running?): Close a RREPL port explicitly. Artyom V. Poptsov2015-10-171-0/+1