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
