lem icon indicating copy to clipboard operation
lem copied to clipboard

[Windows] [lem-pdcurses] MSYS2/MinGW-w64 PDCurses package version 4 is broken

Open Hamayama opened this issue 5 years ago • 4 comments

I found the problem of lem-pdcurses on Windows. (display is broken)

This is caused by MSYS2/MinGW-w64 PDCurses package version 4.

Workaround is as follows.

  1. Download version 3 from http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-pdcurses-3.8-1-any.pkg.tar.xz

  2. Uninstall version 4

    pacman -R mingw-w64-x86_64-pdcurses
    
  3. Install version 3

    pacman -U mingw-w64-x86_64-pdcurses-3.8-1-any.pkg.tar.xz
    cp -i /mingw64/include/pdcurses.h /mingw64/include/ncurses.h
    

See also: https://github.com/msys2/MINGW-packages/issues/5994

Hamayama avatar Dec 09 '19 14:12 Hamayama

It looks like the msys2 guys have switch permanently from the wmcbrine version to the Bill Gray version of PDCurses. This suggest it isn't going to be fixed in msys2. Perhaps a better alternative is to adjust lem to use the new version 4 PDCurses.

Reading the webpage for version 4, it seems to have a richer feature set than v3, including an SDL2 back-end.

Symbolics avatar Jan 05 '21 09:01 Symbolics

Any time frame to for this one? It looks like it's blocking three other issues (see #532) and Lem is unusable on Windows without downgrading MSYS, and that breaks other things.

Symbolics avatar Apr 09 '21 00:04 Symbolics

Uhm, difficult to explain ...

  1. about PDCursesMod

    • not compatible with PDCurses e.g.
      • initscr function doesn't exist. https://github.com/Bill-Gray/PDCursesMod/blob/71214f6b36d718e052551b7f8356cafb2ed74d2f/curses.h#L1281
      • all key codes are different. https://github.com/Bill-Gray/PDCursesMod/blob/71214f6b36d718e052551b7f8356cafb2ed74d2f/curses.h#L908
    • not support wide characters well https://github.com/msys2/MINGW-packages/issues/5994
    • many complex functions are added? (I don't know well ...) see PDCursesMod issues number 110. see PDCursesMod issues number 177.
    • not tested on Windows well see PDCursesMod issues number 156. (owner said I don't actually use Microsoft products very much, and almost never in recent years.)
    • it returns a version string as PDCurses instead of PDCursesMod. so, it cannot be distinguished. https://github.com/Bill-Gray/PDCursesMod/blob/e71d952bfd4581882a4869378d3c3eff668ec27e/pdcurses/initscr.c#L134
  2. about MSYS2/MinGW-w64 package

    • I sent a issue to separate PDCurses and PDCursesMod to different packages. https://github.com/msys2/MINGW-packages/issues/5994 but, no response ...
  3. for now

    • use modified version of PDCurses package for MSYS2/MinGW-w64. https://github.com/Hamayama/PDCurses-win10-jp-package/releases see the installation procedure in #531 .

    • if someone wants to support PDCursesMod, he should make cl-charms-for-pdcurses-mod and lem-pdcurses-mod newly. ( though I can't ... )

Hamayama avatar Apr 09 '21 13:04 Hamayama

Has anyone tried this recently? PDCursesMod issues 110, 156 and 177 have all been closed.

Symbolics avatar Aug 20 '21 09:08 Symbolics