frank - 2020-03-14

After about a decade with attempts to create "portable" classic Rexx
code working in PC DOS 7, OS/2 Warp, W2K, and even Kedit/THE on rainy
days I "eventually" (= a W2K box died in 2010) gave up on that, and
now shoot for Regina at language level 5.00 and ooRexx level 6.03 (or
better.) The Regina essay about "portability" is quite amusing.

Fast forward to 2020, get Regina 3.9.3 and try something, e.g., read
the clipboard. Fail, 64 bits Regina 2019 is unconvinced that a vintage
2001 32 bits W32util.dll should work. And I'm unwilling to downgrade
Regina to 32 bits only to check that theory, Windows 7 has a decent
clip.exe for plain text clipboard write access.

But clipboard read access with a powershell one liner in a Rexx script
would be an abomination. Vague idea, just add an ooRexx RxWinSys.dll
WSClipboard() to RegUtil.dll, the w32clip* functions were anyway too
powerful for my US-ASCII text/plain purposes, dead Rexx code example:

CLIP.AVAIL: if REXX = 5 then return w32clipgetstem( 'CLIP.' ) = 0
else return WSClipboard( 'AVAIL' )
CLIP.EMPTY: if REXX = 5 then return w32clipempty()
else return WSClipboard( 'EMPTY' )
CLIP.PASTE: if REXX = 5 then return w32clipget()
else return WSClipboard( 'PASTE' )
CLIP.COPY: if REXX = 5 then return w32clipset( arg( 1 ))
else return WSClipboard( 'COPY', arg( 1 ))