git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@2356 626c5289-ae23-0410-ae9c-e8d60b6d4f22
78 lines
2.8 KiB
Text
78 lines
2.8 KiB
Text
-*- outline -*-
|
|
|
|
* for release 1.3.8 (or 1.4.0?)
|
|
|
|
** Revive the documentation
|
|
|
|
** Maybe port Wrapper DOH-ification from CVS head
|
|
|
|
** Fix all the bugs on SourceForge
|
|
|
|
** Add facilities to attach documentation strings to procedures.
|
|
There is a patch by twburton on SF for the Python language module,
|
|
but it needs to be done for all language modules.
|
|
|
|
** Add support for type annotations, see mkoeppe's message:
|
|
http://mailman.cs.uchicago.edu/pipermail/swig/2001-June/002652.html
|
|
|
|
* for the unstable 1.5 series
|
|
|
|
** Maybe use libtool rather than all the home-grown compile/link stuff
|
|
|
|
** The behavior of SWIG with respect to call/return-by-value needs
|
|
to be verified for all language modules. Previously, the
|
|
parser automatically performed the conversion of pass-by-value
|
|
to pass-by-reference. Unfortunately, this confused typemap
|
|
handling and other aspects of the system. I have removed
|
|
this behavior. However, in doing so, the handling of user
|
|
defined types is passed on to the language modules.
|
|
|
|
** All of the SWIG 1.1p5 examples need to be verified. Changes
|
|
in type handling and internal data structures may have broken
|
|
a variety of things.
|
|
|
|
** [Guile] Rename slot setters from CLASS-SLOT-set to CLASS-SLOT-set!
|
|
|
|
** [Guile] Maybe support keyword args
|
|
|
|
** [Guile] Maybe support GOOPS shadow classes
|
|
|
|
** [Guile] Support garbage collection.
|
|
|
|
*** %new annotation decides whether a pointer smob can be gc'ed.
|
|
|
|
*** New smob type `swig-gc'; instances created with
|
|
SWIG_Guile_MakeCollectablePtr. %new versions of the pointer
|
|
typemaps use this function rather than SWIG_Guile_MakePtr.
|
|
|
|
*** New typemaps "destructor", "gcmarker". Their values are taken as
|
|
identifiers for functions taking one argument: a pointer to the
|
|
object to be destroyed, or whose SCM-valued subobjects are to be
|
|
marked. After creating the pointer equivalence table, we iterate
|
|
again over the remembered pointer types, emitting code that puts
|
|
the functions into our type table. No additional functions are
|
|
generated.
|
|
|
|
*** The default for all pointer types would be:
|
|
%typemap(destructor) SWIGPOINTER * "free";
|
|
|
|
*** A special annotation, e.g. FREED, can be attached to the arguments
|
|
of destructor functions, so that explicitly freed structs won't be
|
|
collected by the GC again. Like this:
|
|
|
|
%typemap(argout) SWIGPOINTER *FREED {
|
|
smob-tag($source) = swig; /* non-gc */
|
|
smob-data($source) = NULL;
|
|
}
|
|
void free_foo(struct foo *FREED);
|
|
|
|
** Make a tricky header file defining annotations invisible to the C compiler.
|
|
The idea is to prepare one file that serves both as a C header file
|
|
and a SWIG interface file.
|
|
|
|
void add(SWIG_OUTPUT(int) *z, int x, int y)
|
|
|
|
** Unify Guile and MzScheme support, add support for more Scheme systems.
|
|
|
|
** [Guile]: Make SWIG's types first class.
|
|
|