Subject: bug#19354: closed (Re: bug#19354: (spawn-server (make-tcp-server-socket doesn't work in current git)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 14 Dec 2014 15:37:02 +0000

Your bug report

#19354: (spawn-server (make-tcp-server-socket doesn't work in current git

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
19354: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=19354
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#19354: (spawn-server (make-tcp-server-socket doesn't work in current git
From: Mark H Weaver <[email-masked]>
To: Linas Vepstas <[email-masked]>
Cc: [email-masked]
Date: Sun, 14 Dec 2014 10:34:45 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Linas Vepstas <[email-masked]> writes:

> scheme@(guile-user)> (spawn-server (make-tcp-server-socket #:port
> 1661))
> $1 = #<thread 140551788197632 (1e8c800)>
> scheme@(guile-user)> 
>
> then in another terminal:
> $ telnet localhost 1661
[...]
> scheme@(guile-user)> (+ 2 2)
> While compiling expression:
> ERROR: In procedure string->utf8: Wrong type argument in position 1
> (expecting string): socket

The problem here is that (port-filename <socket>) returns the symbol
'socket', whereas our assembler assumed that any non-#f filename stored
in the source properties was a string.

Fixed in 015c3c08af2064145d423cef0d94f04069c3e87e.

    Thanks!
      Mark

Subject: (spawn-server (make-tcp-server-socket doesn't work in current git
From: Linas Vepstas <[email-masked]>
To: [email-masked]
Date: Thu, 11 Dec 2014 19:04:27 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

After pulling from git, I have observed that the tcp scoket server
no longer works.  The below used to work fine:

$ guile
scheme@(guile-user)> (use-modules (system repl server))
scheme@(guile-user)> (use-modules (system repl common))
scheme@(guile-user)> (spawn-server (make-tcp-server-socket  #:port 1661))
$1 = #<thread 140551788197632 (1e8c800)>
scheme@(guile-user)>

then in another terminal:
$ telnet localhost 1661
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GNU Guile 2.1.0.155-3f826
Copyright (C) 1995-2014 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> (+ 2 2)
While compiling expression:
ERROR: In procedure string->utf8: Wrong type argument in position 1
(expecting string): socket

but comma commands work fine:
scheme@(guile-user)> ,h
Help Commands [abbrev]:

 ,help [all | GROUP | [-c] COMMAND]
etc.
scheme@(guile-user)> ,q
Connection closed by foreign host.

The above appears to be correct usage, per
http://www.gnu.org/software/guile/docs/master/guile.html/REPL-Servers.html
-- I don't see any obvious way of slotting a socket-to-string-to-utf8
conversion in there ...

-- Linas