GNU bug report logs -
#21221
guile-2.2 socket ports used with display does not send utf8 !
Previous Next
Reported by: linasvepstas <at> gmail.com
Date: Sun, 9 Aug 2015 02:22:02 UTC
Severity: normal
Done: Andy Wingo <wingo <at> pobox.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Mon, 20 Jun 2016 17:55:37 +0200
with message-id <87y45zg8hy.fsf <at> pobox.com>
and subject line Re: bug#21221: guile-2.2 socket ports used with display does not send utf8 !
has caused the debbugs.gnu.org bug report #21221,
regarding guile-2.2 socket ports used with display does not send utf8 !
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
21221: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21221
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
The following simple client-server program fails for me.
For simplicity, for the server, just use netcat listening on port 7777:
$ nc -l 7777
In a guile shell, try this:
(setlocale LC_ALL "")
(define sss (socket PF_INET SOCK_STREAM 0))
(set-port-encoding! sss "utf-8")
(connect sss AF_INET (inet-pton AF_INET "127.0.0.1") 7777)
(set-port-encoding! sss "utf-8")
(display "SmålandSmåland\n" sss)
(close-port sss)
The SmålandSmåland gets corrupted: nc receives Sm?landSm?land
Some types of utf8 do go through, so e.g. (display "Ćićolina\n" sss)
seems to work fine. This finish/norweign thing, though, fails,
vietnamese too.
(display "Hòa Phú Phú Tân Hiệp An Tương Bình Hiệp Định Hòa\n" sss)
I suppose the answer is "don't use display for sending strings on a
socket", but I'm stumped as to why there should even be an encoding
error, why its not utf8 end-to-end.
This is for guile-2.2 from a recent git pull of the master source from
about June 2015, but I believe the problem occurs on guile-2.0 as
well.
guile --version
guile (GNU Guile) 2.1.0.305-e7097-dirty
this is on ubuntu 14.04 aka ubuntu trusty
-- Linas Vepstas
[Message part 3 (message/rfc822, inline)]
On Sun 09 Aug 2015 04:20, Linas Vepstas <linasvepstas <at> gmail.com> writes:
> The following simple client-server program fails for me.
> For simplicity, for the server, just use netcat listening on port 7777:
>
> $ nc -l 7777
>
> In a guile shell, try this:
> (setlocale LC_ALL "")
> (define sss (socket PF_INET SOCK_STREAM 0))
> (set-port-encoding! sss "utf-8")
> (connect sss AF_INET (inet-pton AF_INET "127.0.0.1") 7777)
> (set-port-encoding! sss "utf-8")
> (display "SmålandSmåland\n" sss)
> (close-port sss)
>
>
> The SmålandSmåland gets corrupted: nc receives Sm?landSm?land
I have tried this in 2.1.3 and it seems to work for me. Thanks for the
report, please reopen if you can still reproduce the bug.
Cheers,
Andy
This bug report was last modified 8 years and 339 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.