summaryrefslogtreecommitdiff
path: root/modules (follow)
Commit message (Expand)AuthorAgeFilesLines
* 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-032-2/+2
* tunnel.scm (main-loop): Handle "interrupted system call" errors•••* modules/ssh/tunnel.scm (main-loop): Handle "interrupted system call" errors. Artyom V. Poptsov2017-01-031-12/+16
* shell.scm: Update module commentary•••* modules/ssh/shell.scm: Update module commentary. Artyom V. Poptsov2017-01-031-1/+2
* 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-012-9/+33
* shell.scm (loadavg): New procedure•••* modules/ssh/shell.scm (loadavg): New procedure. Artyom V. Poptsov2016-12-311-1/+9
* shell.scm (rexec): Check only for EOF object•••* modules/ssh/shell.scm (rexec): Check only for EOF object. (eof-or-null?): Remove. Artyom V. Poptsov2016-12-311-10/+1
* 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-252-10/+5
* shell.scm: Add/update docstrings•••* modules/ssh/shell.scm (pgrep): Update the docstring. (pkill, fallback-pkill): Add docstrings. Artyom V. Poptsov2016-12-251-2/+13
* shell.scm (fallback-pkill): Use 'fallback-pkill'•••* modules/ssh/shell.scm (fallback-pkill): Use 'fallback-pkill'. (fallback-pgrep): Return PIDs as the 1st value. Artyom V. Poptsov2016-12-251-11/+12
* shell.scm: Update the module commentary•••* modules/ssh/shell.scm: Update the module commentary. Artyom V. Poptsov2016-12-251-0/+3
* 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-252-10/+35
* 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-252-2/+13
* shell.scm (rexec): Close a remote pipe after use•••* modules/ssh/shell.scm (rexec): Close a remote pipe after use. Artyom V. Poptsov2016-12-251-8/+10
* shell.scm (pgrep): Fix misspelled pgrep option•••* modules/ssh/shell.scm (pgrep): Fix misspelled pgrep option Artyom V. Poptsov2016-12-251-1/+1
* 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 (pgrep, pkill): Use '-f' instead of '--full'•••* modules/ssh/shell.scm (pgrep, pkill): Use the short version of '--full' option. Artyom V. Poptsov2016-12-241-2/+9
* 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-182-4/+9
* shell.scm: Add missing (ice-9 receive) module•••* modules/ssh/shell.scm: Add missing (ice-9 receive) module. Artyom V. Poptsov2016-12-181-0/+1
* shell.scm (fallback-pgrep): Bugfix: Fix the format string•••* modules/ssh/shell.scm (fallback-pgrep): Bugfix: Use (ice-9 format), replace all '~' with '~~'. Artyom V. Poptsov2016-12-181-1/+2
* modules/ssh/shell.scm: Fix commentaryArtyom V. Poptsov2016-12-181-1/+1
* shell.scm (fallback-pgrep): Add 'make-command' procedure•••* modules/ssh/shell.scm (fallback-pgrep): Add 'make-command' procedure. Artyom V. Poptsov2016-12-181-16/+19
* shell.scm: Use (ice-9 regex)•••* modules/ssh/shell.scm: Use (ice-9 regex) module. Artyom V. Poptsov2016-12-131-0/+1
* 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-132-4/+8
* 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-133-59/+123
* 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
* dist.scm (distribute, dist-map, execute-job): Use 'when'•••* modules/ssh/dist.scm (distribute, dist-map, execute-job): Use 'when' instead of 'and' where it is appropriate. Artyom V. Poptsov2016-12-111-6/+6
* channel.scm: Remove trailing bang from 'channel-send-eof'.•••This procedure merely does I/O without mutating its argument, so it does not deserve the trailing '!' (similar to Scheme's 'write', 'put-bytevector', etc. procedures). * libguile-ssh/channel-func.c (gssh_channel_send_eof_x): Rename to... (gssh_channel_send_eof): ... this. Change Scheme name to '%channel-send-eof'. Adjust caller. * modules/ssh/channel.scm (channel-send-eof!): Rename to... (channel-send-eof): ... this. * tests/client-server.scm ("channel-send-eof!"): Rename to... ("channel-send-eof"): ... this. Adjust accordingly. * doc/api-channels.texi (Channel Management): Adjust accordingly. Signed-off-by: Artyom V. Poptsov <poptsov.artyom@gmail.com> Ludovic Courtès2016-11-061-4/+4
* channel.scm (channel-send-eof!): New procedure•••* modules/ssh/channel.scm (channel-send-eof!): New procedure. * libguile-ssh/channel-func.c (gssh_channel_send_eof_x): New procedure. * doc/api-channels.texi: Add description of 'channel-send-eof!'. * tests/client-server.scm ("channel-send-eof!"): New TC. * doc/version.texi, NEWS: Update. Artyom V. Poptsov2016-10-301-1/+9
* 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
* modules/srfi: Compile SRFI-64 module•••* modules/srfi/Makefile.am: Add to the repository. * modules/Makefile.am (SUBDIRS): Add 'srfi' * configure.ac: Update. Artyom V. Poptsov2016-07-032-1/+47
* tunnel.scm (make-tunnel-channel): Use 'unless'•••* modules/ssh/tunnel.scm (make-tunnel-channel): Use 'unless' instead of 'or' for error checking. Artyom V. Poptsov2016-06-121-3/+3
* 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
* popen.scm: Add 'OPEN_PTY' mode•••* modules/ssh/popen.scm: Add 'OPEN_PTY' mode. (open-remote-pipe): Open a pseudo terminal if 'OPEN_PTY' mode is requested. * modules/ssh/channel.scm (make-channel): Use 'string-contains' instead of 'string=?'. * doc/api-popen.texi: Update. Add examples. Artyom V. Poptsov2016-02-222-5/+18
* popen.scm (open-remote-pipe): Bugfix: Don't request PTY•••When PTY is requested, OpenSSH server merges stderr stream with stdout and the Guile-SSH channel reads all the output as stdout even if the executed command is failed. This patch fixes that. Reported by: David Thompson in <https://github.com/artyom-poptsov/guile-ssh/issues/2> * modules/ssh/popen.scm (open-remote-pipe): Bugfix: Don't request PTY. * AUTHORS, NEWS, THANKS: Update. Artyom V. Poptsov2016-02-211-1/+0
* popen.scm: Don't use (ice-9 popen)•••* modules/ssh/popen.scm: Remove unused (ice-9 popen) dependency; don't export OPEN_READ, OPEN_WRITE and OPEN_BOTH (because the variables are defined in the top-level (guile) module.) Artyom V. Poptsov2015-12-241-3/+1
* modules/ssh/tunnel.scm (p1->p2?): Simplify the checkArtyom V. Poptsov2015-12-221-1/+2
* 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
* channel.scm: Update commentary•••* modules/ssh/channel.scm: Update commentary. Artyom V. Poptsov2015-12-141-6/+0
* 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-064-54/+91
* channel.scm: Update the module commentary•••* modules/ssh/channel.scm: Update the module commentary and copyright dates. Artyom V. Poptsov2015-12-061-1/+7