* Deprecated scm_makfromstr and added scm_mem2string as a replacement.
[bpt/guile.git] / RELEASE
diff --git a/RELEASE b/RELEASE
index 1623047..15fd897 100644 (file)
--- a/RELEASE
+++ b/RELEASE
@@ -7,42 +7,71 @@ absinthe, etc.  However, the first release containing the module
 system should be called Godot: "This is the one you've been waiting
 for."
 
+=== Eventually:
+
 * Deprecate `read-only-string?'.
 
 After signal handling and threading have been fixed:
 - remove the code corresponding to GUILE_OLD_ASYNC_CLICK and the corresponding
   GUILE_OLD_ASYNC_CLICK macro.
 
-In release 1.5:
-- remove deprecated macros: SCM_INPORTP, SCM_OUTPORTP, SCM_CRDY, SCM_ICHRP,
-  SCM_ICHR, SCM_MAKICHR, SCM_SETJMPBUF, SCM_NSTRINGP, SCM_NRWSTRINGP,
-  SCM_NVECTORP
-- remove gc-thunk (It has been replaced by after-gc-hook.)
-- remove scm_sysmissing
-- remove gh_int2scmb (replaced by gh_bool2scm)
-- remove scm_fseek (replaced by scm_seek)
-- remove scm_tag
-- remove code related to the name property of hooks.  Also, check init.c,
-  since the dependency between hooks and objprop will then be eliminated.
-- remove deprecated function scm_list_star/list*  (use SRFI-1 compliant
-  scm_cons_star/cons* instead.)
-- remove scm_tc16_flo, scm_tc_flo (guile always uses doubles to represent
-  inexact real numbers) 
-- remove scm_tc_dblr (replaced by scm_tc16_real)
-- remove scm_tc_dblc (replaced by scm_tc16_complex)
-- remove deprecated types, functions and macros from numbers.h:  scm_dblproc,
-  SCM_UNEGFIXABLE, SCM_FLOBUFLEN, SCM_INEXP, SCM_CPLXP, SCM_REAL, SCM_IMAG,
-  SCM_REALPART, scm_makdbl, SCM_SINGP, SCM_NUM2DBL, SCM_NO_BIGDIG
-
-In release 1.6:
+=== In release 1.6.0:
+
+- Make sure that the deprecation mechanism explained in INSTALL and
+  README is completed and works.
+
+=== In release 1.8.0:
+
+- remove deprecated "scm_*_t" type names in libguile.h.
+
+- remove re-exporting behaviour of `export'.
+    in boot-9.scm, remove begin-deprecated part of `module-export!' 
+    in format.scm, remove kluge at top
+    in srfi13.scm, likewise
+
+- remove deprecated subr and gsubr functions
+    in procs.h, procs.c: scm_make_subr, scm_make_subr_opt,
+      scm_make_subr_with_generic,
+    in gsubr.h, gsubr.c: scm_make_gsubr, scm_make_gsubr_with_generic.
+    
+- remove deprecated C interface to modules
+    in modules.h, modules.c:
+      root_module_lookup_closure, scm_sym_app, scm_sym_modules,
+      module_prefix, make_modules_in_var, beautify_user_module_x_var,
+      scm_the_root_module, scm_make_module, scm_ensure_user_module,
+      scm_load_scheme_module
+
+- remove vcell and obarray support.
+  Remove all code bracketed by `#if SCM_ENABLE_VCELLS'.
+  Remove SCM_ENABLE_VCELLS itself.
+  Also remove `variable-set-name-hint' completely.
+
+- remove compatability module (ice-9 and-let*).  It
+  has been replaced by (ice-9 and-let-star) and/or (srfi srfi-2).
+
+- remove support for autoloading compiled-code modules:
+    try-module-linked
+    try-module-dynamic-link
+    init-dynamic-module, etc.
+    scm_register_module_xxx
+    scm_registered_modules
+    scm_clear_registered_modules
+
 - remove deprecated variables:
     scm_top_level_lookup_closure_var
+    scm_scm_system_transformer
+    Remove all code that still sets them:
+     `use-syntax', scm_set_current_module, ...
+
 - remove deprecated functions:
     eval.c: scm_eval2, scm_eval_3
     load.c: scm_read_and_eval_x
     smob.c: scm_make_smob_type_mfpe, scm_set_smob_mfpe
+    gc.c: scm_remember
+    string.c: scm_makstr, scm_makfromstr
 - remove deprecated procedures:
-    boot-9.scm:eval-in-module
+    boot-9.scm: eval-in-module, id, -1+, return-it, string-character-length,
+      flags
 - remove deprecated macros: SCM_OUTOFRANGE, SCM_NALLOC, SCM_HUP_SIGNAL, 
   SCM_INT_SIGNAL, SCM_FPE_SIGNAL, SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL, 
   SCM_ALRM_SIGNAL, SCM_GC_SIGNAL, SCM_TICK_SIGNAL, SCM_SIG_ORD, 
@@ -53,7 +82,11 @@ In release 1.6:
   SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING,
   SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX,
   SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR,
-  SCM_SUBR_DOC
+  SCM_SUBR_DOC, SCM_OPDIRP, SCM_VALIDATE_OPDIR, SCM_WTA, RETURN_SCM_WTA,
+  SCM_WNA, SCM_FUNC_NAME, SCM_VALIDATE_NUMBER_COPY,
+  SCM_VALIDATE_NUMBER_DEF_COPY, SCM_SLOPPY_CONSP, SCM_SLOPPY_NCONSP,
+  SCM_SETAND_CDR, SCM_SETOR_CDR, SCM_SETAND_CAR, SCM_SETOR_CAR,
+  SCM_ARRAY_CONTIGUOUS
 - remove scm_vector_set_length_x
 - remove function scm_call_catching_errors
   (replaced by catch functions from throw.[ch])
@@ -65,6 +98,26 @@ In release 1.6:
 - remove scm_tc7_msymbol
 - remove scm_tcs_symbols
 - remove scm_sloppy_memq, scm_sloppy_memv, scm_sloppy_member
+- consider removing the automatic loading of (ice-9 rdelim) when guile
+  starts up.  This would be a brave move, since a lot of code will
+  assume that read-line is available by default.  However it would make
+  it easier to use alternative implementations of this module, e.g., a
+  strictly scsh-compatible version which uses multiple values.  For
+  interactive use it would be easy to load the module in ~/.guile.
+- remove scm_close_all_ports_except
+- remove scm_strprint_obj
+- remove SCM_CONST_LONG
+- remove scm_wta
+- remove deprecated typedefs: long_long, ulong_long, scm_sizet
+- remove deprecated macros: scm_contregs, scm_port_rw_active,
+  scm_port, scm_ptob_descriptor, scm_debug_info, scm_debug_frame,
+  scm_fport, SCM_FIXNUM_BIT, scm_option, scm_subr_entry, scm_rstate,
+  scm_rng, scm_i_rstate, scm_srcprops, scm_srcprops_chunk,
+  scm_info_frame, scm_stack, scm_array, scm_array_dim.
+- remove deprecated functions: scm_mkbig, scm_big2num, scm_adjbig,
+  scm_normbig, scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl.
+- remove deprecated functions: scm_protect_object,
+  scm_unprotect_object, scm_create_hook.
 
 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
@@ -127,7 +180,7 @@ Spiffing checklist:
   copyright notices.  This can be as simple as doing:
        grep 'Copyright' * | grep -v 1999
   and looking for files you know you've worked on a lot.
-* Make sure NEWS, INSTALL and the docs are up to date:
+* Make sure NEWS, INSTALL, AUTHORS and THANKS and the docs are up to date:
   + Scan the ChangeLogs for user-visible changes, marked with an asterisk
     at the left margin.
   + Update NEWS and the Texinfo documentation as appropriate.
@@ -135,6 +188,7 @@ Spiffing checklist:
     documented.
   + Check for any [[incomplete]] sections of NEWS.
   + Fact-check INSTALL.
+  + Make sure AUTHORS and THANKS are up-to-date.
 * Make sure the downloading addresses and filenames in README are
   current.  (But don't bump the version number yet.  We do that below.)
 * Check that the versions of aclocal, automake, autoconf, and autoheader