1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
-*-text-*-
These TODO items are grouped by target release version. The first group is
the "Eventually" group, which is not associated w/ any particular version.
Move these items under a version upon completion (or better yet, ownership).
Upon completion, simply change the "-" to a "+", but do not delete the item.
At release time, the "+" entries will be deleted after review to make sure
that user-visible changes are reflected in NEWS (and that proper credit is
applied :-).
Ownership is indicated by `[USERNAME]'. Maintainers (w/ write privs) can
indicate sponsorship by `[ACTUAL-OWNER:MAINTAINER]', where both elements are
usernames.
If you would like to suggest changes or contribute patches, please first email
guile-devel@gnu.org to coordinate efforts. If you distribute this file,
please include the first line and check around on the Internet for updates.
See also file HACKING.
------------------------------------------------------------------------------
=== 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.
- implement and integrate generational garbage collection
- add POSIX thread support
- factor thread support out of libguile
- protect common resources using mutecis from the new interface
- remove the dynamic roots
- revise the fluid implementation
- implement the GC thread synchronization (all threads: go to sleep!)
- implementing the libguileposix threads glue library
- GOOPS
- develop better representation for GOOPS objects
- rewrite method cache management in C
- rewrite core macros (define-class et al) in C
- define C API
- write Orbit CORBA interface
- [after new module system] factor out modules sort.c and random.c should be
factored out into separate modules
- include malloc debugging code in an optional file in libguile
- fix looking up procedure names in environment in backtraces
- implement srcprops using double cells
- use "real" procprops
- add facilities for easily debugging Scheme programs from Emacs
- write good interface to Tk
- write translators for additional languages
- Perl
- Python
- TCL
- Emacs Lisp
- Rexx
- make GDB work with Guile
- use the SCM trick of tagging environments with immediates (see m_letrec1)
to convert source correctly in unmemocopy
- eliminate argument checking for closures
- Implement a thread-safe alternative to SCM's environment caches
=== Before releasing 1.8.0:
- Make sure we have appropriate interface numbers for shared
libraries, and that we document and use the libtool
conventions. [rlb].
- Update the version numbers in GUILE-VERSION and README. [rlb]
- Start a new section of the NEWS file.
- Start a new THANKS file.
- remove deprecated functions scm_read_0str, scm_eval_0str.
- 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 srfi-13.scm, likewise
in srfi-1.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, 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,
SCM_ORD_SIG, SCM_NUM_SIGS, SCM_SLOPPY_STRINGP, SCM_VALIDATE_STRINGORSUBSTR,
SCM_FREEP, SCM_NFREEP, SCM_CHARS, SCM_UCHARS, SCM_VALIDATE_ROSTRING,
SCM_VALIDATE_ROSTRING_COPY, SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH,
SCM_LENGTH, SCM_HUGE_LENGTH, SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET,
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_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,
SCM_LIST0, SCM_LIST1, SCM_LIST2, SCM_LIST3, SCM_LIST4, SCM_LIST5,
SCM_LIST6, SCM_LIST7, SCM_LIST8, SCM_LIST9
- remove scm_listify
- remove scm_vector_set_length_x
- remove function scm_call_catching_errors
(replaced by catch functions from throw.[ch])
- remove support for "#&" reader syntax in (ice-9 optargs).
- remove scm_make_shared_substring
- remove scm_read_only_string_p
- remove scm_strhash
- remove scm_tc7_ssymbol
- 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.
[TODO ends here]
|