On 08.11.2025 21:25, Rick McGuire wrote:
They got deprecated because they are impossible to implement on every platform.

It seems that in <https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f> <https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f> an inter-process synchronization is sought on Windows. (The built-in classes EventSemaphore and MutexSemaphore would work on all platforms, but within a single process only.)

As we have a few Sys-functions (rexxref.pdf, "8.2. List of Rexx Utility Functions") that work only on Windows (e.g., SysBootDrive()) and a few others that work only on Unix (e.g., SysCreatePipe()), we could probably undeprecate these Windows-only Sys-functions as long as they can be implemented on Windows. This would allow the ooRexx users exploiting these Sys-functions to keep on using ooRexx.

---rony



On Sat, Nov 8, 2025 at 3:21 PM Rony G. Flatscher <[email protected]> 
wrote:

    Here from rexxref.pdf:

        B.1. Incompatible ooRexx features

        Functions or features which have been changed in ooRexx 5.0 in a way 
that will lead to
        incompatibilities with prior versions.

        B.1.1. RexxUtil SysTempFileName

        SysTempFileName on Unix-like platforms now behaves identically to 
SysTempFileName on Windows.
        It no longer uses only the first five characters of the file name part 
of the template,
        appending a
        random string to make it unique. It also no more prepends an operating 
system-chosen
        writable path if
        no path is given in the template. Instead it now uses the same 
filler-based mechanism as
        the Windows
        version does.

        Existing ooRexx programs using SysTempFileName on Unix-like platforms 
will need to be amended.

        B.2. Deprecated Rexx features

        In exceptional circumstances, ooRexx may deprecate functions or 
features, which means the use
        of these functions is discouraged, documentation is no longer provided, 
and bug reports
        against
        deprecated functions will not be accepted. Reasons for deprecation 
include broken
        functionality,
        features that were never officially documented, or functions no longer 
required.
        Although existing code using deprecated functions is expected to 
continue to work as-is,
        you are
        strongly encouraged to migrate to the replacement functionality, as 
these functions may be
        removed
        from future releases of the interpreter.

        B.2.1. RexxUtil Semaphore functions

        The following RexxUtil functions related to semaphore-processing have 
been deprecated.

        SysCloseEventSem         SysPostEventSem
        SysCloseMutexSem         SysPulseEventSem
        SysCreateEventSem         SysReleaseMutexSem
        SysCreateMutexSem         SysRequestMutexSem
        SysOpenEventSem         SysResetEventSem
        SysOpenMutexSem         SysWaitEventSem

        They have been superseded by the new EventSemaphore Class and 
MutexSemaphore Class.
        ... cut ...

    ---rony


    On 08.11.2025 21:14, Rony G. Flatscher wrote:

    There are a couple of Sys-functions that got deprecated by removing their 
documentation from
    the installation package of ooRexx 5.1.0. Still, these functions get used 
and it seems that
    their system-wide functionality cannot be replaced by any of the new ooRexx 
classes.

    The thread in
    
<https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f>
    
<https://sourceforge.net/p/oorexx/discussion/408478/thread/4d937f7069/?limit=25#c04f>
 leads
    to the question:

        "Can't the native functions be undeprecated? It doesn't seem like there 
is a replacement
        for key features they provide, like the ability to share across 
processes including
        non-Rexx processes that can also interact with the underlying operating 
system objects."

    Would there be any downsides, if re-instatitng the documentation of these 
Sys-functions and
    formally removing the "deprecate" tag on them?

    ---rony

_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to