Previous: Input-Output System, Up: What Is New In Release 4 [Contents]
The conversion specifier (in foreign/[2,3] facts)
string(N) has been dropped.
The conversion specifier chars has been renamed to
codes, in analogy with the built-in predicate
atom_codes/2, the second argument of which is a list of
character codes.
The C header generated by splfr from the foreign/[2,3]
facts now uses the const attribute where appropriate.
Foreign resources are no longer unloaded by
save_program/[1,2]. For this reason, the deinit function of a
foreign resource is no longer called when saving a program so
SP_WHEN_SAVE has been removed.
Many functions in the C API has been changed or removed, especially those related to OS and I/O operations. There are also a number of new C API functions.
| Old API | Replaced by | 
| SP_make_stream,SP_make_stream_context | SP_create_stream | 
| SP_set_tty | SP_CREATE_STREAM_OPTION_INTERACTIVE | 
| SP_fgetc | SP_get_byte,SP_get_code | 
| SP_fputc | SP_put_byte,SP_put_code | 
| SP_fputs | SP_put_codes,SP_put_encoded_string | 
| SP_fflush | SP_flush_output | 
| SP_chdir | SP_set_current_dir | 
| SP_getcwd | SP_get_current_dir | 
| SP_set_wcx_hooks | Gone | 
| SP_wcx_getc,SP_wcx_putc | Gone | 
| SP_to_os,SP_from_os | Gone | 
| SP_put_number_chars | SP_put_number_codes | 
| SP_get_number_chars | SP_get_number_codes | 
Other new functions include:
SP_get_stream_user_dataSP_get_stream_countsSP_put_bytesSP_fopenSP_unget_codeSP_unget_byteAlso, many functions take new or changed parameters.