A message for Ring extensions developers (Little changes in Ring C API)

39 views
Skip to first unread message

Mahmoud Fayed

unread,
Aug 15, 2025, 11:33:32 PM8/15/25
to The Ring Programming Language
Hello

This is a message for Ring extensions developers (Little changes in Ring C API)

During Ring 1.24 development (last few weeks), I did a complete revision for a lot of functions in Ring Compiler/VM, this includes
1- The function name
2- The parameter type
3- The parameter name
4- Order of parameters
5- Order of functions
6- Function place (which file)
7- Consistency in naming 
 
Since we have good Ring API including (RING_API_* definitions) and all of these functions are not changed, most extensions work without the need for any code updates, but there are little exceptions related to String/List functions that doesn't have fixed RING_API_* definitions).

Most of the List functions are not changed, and they are what is used largely in extensions after RING_API_* (good news), but the situation of Ring String function is different (They are improved, some functions are renamed, etc.)

The current Ring String functions for Ring 1.24 are defined here: ring/language/include/rstring.h at master · ring-lang/ring

The functions that works on C strings (const char *) are moved/renamed and defined here: ring/language/include/general.h at master · ring-lang/ring

Example of changes
(1) ring_string_lower() ----> changed to ring_general_lower() 
---> This function is used in RingFastPro which is updated in Ring 1.24 to use the new name.

(2) ring_string_strdup(void *pState, const char *cStr) changed to ring_string_strdup_gc(void *pState, const char *cStr)
---> This function is used in RingWebView

Greetings,
Mahmoud



Reply all
Reply to author
Forward
0 new messages