mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
*** empty log message ***
This commit is contained in:
parent
69bc9ff335
commit
16a5a9a445
2 changed files with 69 additions and 0 deletions
67
NEWS
67
NEWS
|
@ -1063,10 +1063,77 @@ This is the typical way of creating a hook from C code.
|
|||
Currently, the variable is created in the root module. This will
|
||||
change when we get the new module system.
|
||||
|
||||
** The smob interface
|
||||
|
||||
The interface for creating smobs has changed. For documentation, see
|
||||
data-rep.info (made from guile-core/doc/data-rep.texi).
|
||||
|
||||
*** Deprecated function: SCM scm_newsmob (scm_smobfuns *)
|
||||
|
||||
>>> This function will be removed in 1.3.4. <<<
|
||||
|
||||
It is replaced by:
|
||||
|
||||
*** Function: SCM scm_make_smob_type (const char *name, scm_sizet size)
|
||||
This function adds a new smob type, named NAME, with instance size
|
||||
SIZE to the system. The return value is a tag that is used in
|
||||
creating instances of the type. If SIZE is 0, then no memory will
|
||||
be allocated when instances of the smob are created, and nothing
|
||||
will be freed by the default free function.
|
||||
|
||||
*** Function: void scm_set_smob_mark (long tc, SCM (*mark) (SCM))
|
||||
This function sets the smob marking procedure for the smob type
|
||||
specified by the tag TC. TC is the tag returned by
|
||||
`scm_make_smob_type'.
|
||||
|
||||
*** Function: void scm_set_smob_free (long tc, SCM (*mark) (SCM))
|
||||
This function sets the smob freeing procedure for the smob type
|
||||
specified by the tag TC. TC is the tag returned by
|
||||
`scm_make_smob_type'.
|
||||
|
||||
*** Function: void scm_set_smob_print (tc, print)
|
||||
|
||||
- Function: void scm_set_smob_print (long tc,
|
||||
scm_sizet (*print) (SCM,
|
||||
SCM,
|
||||
scm_print_state *))
|
||||
|
||||
This function sets the smob printing procedure for the smob type
|
||||
specified by the tag TC. TC is the tag returned by
|
||||
`scm_make_smob_type'.
|
||||
|
||||
*** Function: void scm_set_smob_equalp (long tc, SCM (*equalp) (SCM, SCM))
|
||||
This function sets the smob equality-testing predicate for the
|
||||
smob type specified by the tag TC. TC is the tag returned by
|
||||
`scm_make_smob_type'.
|
||||
|
||||
*** Macro: void SCM_NEWSMOB (SCM var, long tc, void *data)
|
||||
Make VALUE contain a smob instance of the type with type code TC and
|
||||
smob data DATA. VALUE must be previously declared as C type `SCM'.
|
||||
|
||||
*** Macro: fn_returns SCM_RETURN_NEWSMOB (long tc, void *data)
|
||||
This macro expands to a block of code that creates a smob instance
|
||||
of the type with type code TC and smob data DATA, and returns that
|
||||
`SCM' value. It should be the last piece of code in a block.
|
||||
|
||||
** The interfaces for using I/O ports and implementing port types
|
||||
(ptobs) have changed significantly. The new interface is based on
|
||||
shared access to buffers and a new set of ptob procedures.
|
||||
|
||||
*** scm_newptob has been removed
|
||||
|
||||
It is replaced by:
|
||||
|
||||
*** Function: SCM scm_make_port_type (type_name, fill_buffer, write_flush)
|
||||
|
||||
- Function: SCM scm_make_port_type (char *type_name,
|
||||
int (*fill_buffer) (SCM port),
|
||||
void (*write_flush) (SCM port));
|
||||
|
||||
Similarly to the new smob interface, there is a set of function
|
||||
setters by which the user can customize the behaviour of his port
|
||||
type. See ports.h (scm_set_ptob_XXX).
|
||||
|
||||
** scm_strport_to_string: New function: creates a new string from
|
||||
a string port's buffer.
|
||||
|
||||
|
|
2
RELEASE
2
RELEASE
|
@ -18,6 +18,8 @@ In release 1.3.4:
|
|||
ramap.c: serial-array-copy!, serial-array-map!
|
||||
- remove module (ice-9 getopt-gnu-style)
|
||||
- remove kw.h, scm_tc16_kw
|
||||
- remove genio.h
|
||||
- remove deprecated function scm_newsmob.
|
||||
|
||||
Modules sort.c and random.c should be factored out into separate
|
||||
modules (but still be distributed with guile-core) when we get a new
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue