* gc_os_dep.c (GC_noop1): ifdef out (unused) to quiet warning.
[bpt/guile.git] / TODO
CommitLineData
a96b27ea 1-*-text-*-
9a6b2d62 2
6db6327d
TTN
3These TODO items are grouped by target release version. The first group is
4the "Eventually" group, which is not associated w/ any particular version.
5Move these items under a version upon completion (or better yet, ownership).
9a6b2d62 6
6db6327d
TTN
7Upon completion, simply change the "-" to a "+", but do not delete the item.
8At release time, the "+" entries will be deleted after review to make sure
9that user-visible changes are reflected in NEWS (and that proper credit is
10applied :-).
9a6b2d62 11
6db6327d
TTN
12Ownership is indicated by `[USERNAME]'. Maintainers (w/ write privs) can
13indicate sponsorship by `[ACTUAL-OWNER:MAINTAINER]', where both elements are
14usernames.
15
16If you would like to suggest changes or contribute patches, please first email
17guile-devel@gnu.org to coordinate efforts. If you distribute this file,
18please include the first line and check around on the Internet for updates.
19
20See also file HACKING.
21
22------------------------------------------------------------------------------
23
24=== Eventually:
9a6b2d62
TTN
25
26- deprecate `read-only-string?'
27- [after signal handling and threading have been fixed] remove the code
28 corresponding to GUILE_OLD_ASYNC_CLICK and the corresponding
29 GUILE_OLD_ASYNC_CLICK macro.
30- implement and integrate generational garbage collection
31- add POSIX thread support
32- factor thread support out of libguile
33- protect common resources using mutecis from the new interface
34- remove the dynamic roots
35- revise the fluid implementation
36- implement the GC thread synchronization (all threads: go to sleep!)
37- implementing the libguileposix threads glue library
38- GOOPS
39 - develop better representation for GOOPS objects
40 - rewrite method cache management in C
41 - rewrite core macros (define-class et al) in C
42 - define C API
6db6327d 43- write Orbit CORBA interface
9a6b2d62
TTN
44- [after new module system] factor out modules sort.c and random.c should be
45 factored out into separate modules
746dcb4e
TTN
46- include malloc debugging code in an optional file in libguile
47- fix looking up procedure names in environment in backtraces
48- implement srcprops using double cells
49- use "real" procprops
50- add facilities for easily debugging Scheme programs from Emacs
51- write good interface to Tk
52- write translators for additional languages
53 - Perl
54 - Python
55 - TCL
56 - Emacs Lisp
57 - Rexx
58- make GDB work with Guile
59- use the SCM trick of tagging environments with immediates (see m_letrec1)
60 to convert source correctly in unmemocopy
61- eliminate argument checking for closures
62- Implement a thread-safe alternative to SCM's environment caches
63
a96b27ea 64=== Before releasing 1.8.0:
9a6b2d62 65
a96b27ea
RB
66- Make sure we have appropriate interface numbers for shared
67 libraries, and that we document and use the libtool
68 conventions. [rlb].
9a6b2d62 69
a96b27ea 70- Update the version numbers in GUILE-VERSION and README. [rlb]
9a6b2d62 71
a96b27ea
RB
72- Start a new section of the NEWS file.
73
74- Start a new THANKS file.
9a6b2d62 75
601275cd
MV
76- remove deprecated functions scm_read_0str, scm_eval_0str.
77
9a6b2d62
TTN
78- remove deprecated "scm_*_t" type names in libguile.h.
79
80- remove re-exporting behaviour of `export'.
81 in boot-9.scm, remove begin-deprecated part of `module-export!'
82 in format.scm, remove kluge at top
601275cd
MV
83 in srfi-13.scm, likewise
84 in srfi-1.scm, likewise
9a6b2d62
TTN
85
86- remove deprecated subr and gsubr functions
87 in procs.h, procs.c: scm_make_subr, scm_make_subr_opt,
88 scm_make_subr_with_generic,
89 in gsubr.h, gsubr.c: scm_make_gsubr, scm_make_gsubr_with_generic.
90
91- remove deprecated C interface to modules
92 in modules.h, modules.c:
93 root_module_lookup_closure, scm_sym_app, scm_sym_modules,
94 module_prefix, make_modules_in_var, beautify_user_module_x_var,
95 scm_the_root_module, scm_make_module, scm_ensure_user_module,
96 scm_load_scheme_module
97
98- remove vcell and obarray support.
99 Remove all code bracketed by `#if SCM_ENABLE_VCELLS'.
100 Remove SCM_ENABLE_VCELLS itself.
101 Also remove `variable-set-name-hint' completely.
102
103- remove compatability module (ice-9 and-let*). It
104 has been replaced by (ice-9 and-let-star) and/or (srfi srfi-2).
105
106- remove support for autoloading compiled-code modules:
107 try-module-linked
108 try-module-dynamic-link
109 init-dynamic-module, etc.
110 scm_register_module_xxx
111 scm_registered_modules
112 scm_clear_registered_modules
113
114- remove deprecated variables:
115 scm_top_level_lookup_closure_var
116 scm_scm_system_transformer
117 Remove all code that still sets them:
118 `use-syntax', scm_set_current_module, ...
119
120- remove deprecated functions:
121 eval.c: scm_eval2, scm_eval_3
122 load.c: scm_read_and_eval_x
123 smob.c: scm_make_smob_type_mfpe, scm_set_smob_mfpe
124 gc.c: scm_remember
125 string.c: scm_makstr, scm_makfromstr
126- remove deprecated procedures:
127 boot-9.scm: eval-in-module, id, -1+, return-it, string-character-length,
128 flags
129- remove deprecated macros: SCM_OUTOFRANGE, SCM_NALLOC, SCM_HUP_SIGNAL,
130 SCM_INT_SIGNAL, SCM_FPE_SIGNAL, SCM_BUS_SIGNAL, SCM_SEGV_SIGNAL,
131 SCM_ALRM_SIGNAL, SCM_GC_SIGNAL, SCM_TICK_SIGNAL, SCM_SIG_ORD,
132 SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SLOPPY_STRINGP, SCM_VALIDATE_STRINGORSUBSTR,
133 SCM_FREEP, SCM_NFREEP, SCM_CHARS, SCM_UCHARS, SCM_VALIDATE_ROSTRING,
134 SCM_VALIDATE_ROSTRING_COPY, SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH,
135 SCM_LENGTH, SCM_HUGE_LENGTH, SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET,
136 SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING,
137 SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX,
138 SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR,
139 SCM_SUBR_DOC, SCM_OPDIRP, SCM_VALIDATE_OPDIR, SCM_WTA, RETURN_SCM_WTA,
140 SCM_WNA, SCM_FUNC_NAME, SCM_VALIDATE_NUMBER_COPY,
141 SCM_VALIDATE_NUMBER_DEF_COPY, SCM_SLOPPY_CONSP, SCM_SLOPPY_NCONSP,
142 SCM_SETAND_CDR, SCM_SETOR_CDR, SCM_SETAND_CAR, SCM_SETOR_CAR,
e235f2a6
KN
143 SCM_ARRAY_CONTIGUOUS,
144 SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5,
145 SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9
146- remove scm_listify
9a6b2d62
TTN
147- remove scm_vector_set_length_x
148- remove function scm_call_catching_errors
149 (replaced by catch functions from throw.[ch])
150- remove support for "#&" reader syntax in (ice-9 optargs).
151- remove scm_make_shared_substring
152- remove scm_read_only_string_p
153- remove scm_strhash
154- remove scm_tc7_ssymbol
155- remove scm_tc7_msymbol
156- remove scm_tcs_symbols
157- remove scm_sloppy_memq, scm_sloppy_memv, scm_sloppy_member
158- consider removing the automatic loading of (ice-9 rdelim) when guile
159 starts up. This would be a brave move, since a lot of code will
160 assume that read-line is available by default. However it would make
161 it easier to use alternative implementations of this module, e.g., a
162 strictly scsh-compatible version which uses multiple values. For
163 interactive use it would be easy to load the module in ~/.guile.
164- remove scm_close_all_ports_except
165- remove scm_strprint_obj
166- remove SCM_CONST_LONG
167- remove scm_wta
168- remove deprecated typedefs: long_long, ulong_long, scm_sizet
169- remove deprecated macros: scm_contregs, scm_port_rw_active,
170 scm_port, scm_ptob_descriptor, scm_debug_info, scm_debug_frame,
171 scm_fport, SCM_FIXNUM_BIT, scm_option, scm_subr_entry, scm_rstate,
172 scm_rng, scm_i_rstate, scm_srcprops, scm_srcprops_chunk,
173 scm_info_frame, scm_stack, scm_array, scm_array_dim.
174- remove deprecated functions: scm_mkbig, scm_big2num, scm_adjbig,
175 scm_normbig, scm_copybig, scm_2ulong2big, scm_dbl2big, scm_big2dbl.
176- remove deprecated functions: scm_protect_object,
177 scm_unprotect_object, scm_create_hook.
178
179[TODO ends here]