Hi, Andy Wingo <[EMAIL PROTECTED]> writes:
> The removal of the scm_i_* functions is an ABI break in the stable 1.8 > series. It should be reverted. (It's a great fix for master though.) The "i" always stood for "internal", but let's see what can be done... ;-) Assuming the above, one could say that it's not an ABI break, since no public function was added, modified nor removed. Now, since the public API did lack a few necessary functions, we could probably make a few exceptions, leaving crucial `_i_' functions public. I suggested such exceptions and asked for more back then: http://thread.gmane.org/gmane.lisp.guile.devel/7246 http://thread.gmane.org/gmane.lisp.guile.devel/7285 > It breaks apps compiled with older versions of guile 1.8. Guile-gnome is > not affected too much -- a couple instance of scm_i_symbol_length (not > something that can currently be dealt with with version #ifdeffing, as > the version is still 1.8.5), I don't mind leaving `scm_i_symbol_length ()' public for the sake of ABI compatibility, just like `scm_i_string_chars ()' and a few others. Eventually, application code should have a configure check, allowing it to use either `_i_' or `_c_'. > but more seriously the port table, with the > scm_i_port_table_mutex. (The port API sucks, I know.) What do you mean? What code outside `libguile' uses `scm_i_port_table_mutex'? Thanks, Ludovic.