Package: fsharp
Version: 4.0.0.4+dfsg2-2
Severity: normal

Dear Maintainer,

When typing at the F# Interactive prompt (the REPL), Unicode characters
U+0080 through U+00FF are impossible to type; they will be replaced by
U+FFFD REPLACEMENT CHARACTER. Here's a short Bash session demonstrating
the bug: first I copy and paste the printfn call, then I try running the
same printfn call via F#'s #load command.


    rmunn@rmunn-vm-sid64:~/tmp/fsharp-4.0.0.4+dfsg2$ echo 'printfn "üýþÿĀāĂă"' 
> trythis.fsx
    rmunn@rmunn-vm-sid64:~/tmp/fsharp-4.0.0.4+dfsg2$ cat trythis.fsx 
    printfn "üýþÿĀāĂă"
    rmunn@rmunn-vm-sid64:~/tmp/fsharp-4.0.0.4+dfsg2$ fsharpi

    F# Interactive for F# 4.0 (Open Source Edition)
    Freely distributed under the Apache 2.0 Open Source License

    For help type #help;;

    > printfn "����ĀāĂă" ;;
    ����ĀāĂă
    val it : unit = ()
    > #load "trythis.fsx" ;;
    [Loading /home/rmunn/tmp/fsharp-4.0.0.4+dfsg2/trythis.fsx]
    üýþÿĀāĂă

    namespace FSI_0003

    > #quit;;

    - Exit...


I have reported this bug at https://github.com/fsharp/fsharp/issues/654
as well, but I believe this is primarily caused by the Debian packaging
being too old. The reason I think that is because in recent commits to
the https://github.com/fsharp/fsharp repo, there are compiler flags to
skip the readKeyFixup function (the function that I believe is causing
this bug) on non-Windows systems, and I believe that the Linux build of
fsi.exe should be built with at least one of those two flags (at least
NO_SERVERCODEPAGES, and probably NO_WIN_REGISTRY, though the latter
depends on whether Mono simulates the Windows registry or not).

Therefore, I believe that the best fix to this bug will be to import a
new version of the upstream Git repo (the last time this was done
appears to have been in December 2015, over a year ago). That should
bring in the latest F# Interactive fixes, including the compiler flags
that would prevent this bug from triggering on Linux.

To test that the bug is gone, simply copy and paste "üýþÿĀāĂă" into the
F# Interactive REPL. If the first four characters of that string appear
correctly, then this bug has been fixed.


Sincerely,

Robin Munn



-- System Information:
Debian Release: stretch/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.8.0-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages fsharp depends on:
ii  libfsharp-core4.3-cil                           4.0.0.4+dfsg2-2
ii  libmono-compilerservices-symbolwriter4.0-cil    4.6.2.7+dfsg-1
ii  libmono-corlib4.5-cil                           4.6.2.7+dfsg-1
ii  libmono-microsoft-build-framework4.0-cil        4.6.2.7+dfsg-1
ii  libmono-microsoft-build-tasks-v4.0-4.0-cil      4.6.2.7+dfsg-1
ii  libmono-microsoft-build-utilities-v4.0-4.0-cil  4.6.2.7+dfsg-1
ii  libmono-system-core4.0-cil                      4.6.2.7+dfsg-1
ii  libmono-system-numerics4.0-cil                  4.6.2.7+dfsg-1
ii  libmono-system-runtime4.0-cil                   4.6.2.7+dfsg-1
ii  libmono-system-windows-forms4.0-cil             4.6.2.7+dfsg-1
ii  libmono-system-xml4.0-cil                       4.6.2.7+dfsg-1
ii  libmono-system4.0-cil                           4.6.2.7+dfsg-1
ii  mono-devel                                      4.6.2.7+dfsg-1
ii  mono-runtime                                    4.6.2.7+dfsg-1
ii  mono-xbuild                                     4.6.2.7+dfsg-1

fsharp recommends no packages.

fsharp suggests no packages.

-- no debconf information

Reply via email to