Commit | Line | Data |
---|---|---|
a96b27ea | 1 | -*-text-*- |
9a6b2d62 | 2 | |
6db6327d TTN |
3 | These TODO items are grouped by target release version. The first group is |
4 | the "Eventually" group, which is not associated w/ any particular version. | |
5 | Move these items under a version upon completion (or better yet, ownership). | |
9a6b2d62 | 6 | |
6db6327d TTN |
7 | Upon completion, simply change the "-" to a "+", but do not delete the item. |
8 | At release time, the "+" entries will be deleted after review to make sure | |
9 | that user-visible changes are reflected in NEWS (and that proper credit is | |
10 | applied :-). | |
9a6b2d62 | 11 | |
6db6327d TTN |
12 | Ownership is indicated by `[USERNAME]'. Maintainers (w/ write privs) can |
13 | indicate sponsorship by `[ACTUAL-OWNER:MAINTAINER]', where both elements are | |
14 | usernames. | |
15 | ||
16 | If you would like to suggest changes or contribute patches, please first email | |
17 | guile-devel@gnu.org to coordinate efforts. If you distribute this file, | |
18 | please include the first line and check around on the Internet for updates. | |
19 | ||
20 | See 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] |