(exception:string-contains-nul): New exception pattern.
[bpt/guile.git] / oop / ChangeLog
1 2005-03-24 Mikael Djurfeldt <djurfeldt@nada.kth.se>
2
3 * accessors.scm, simple.scm: New files.
4
5 * goops.scm (standard-define-class): Removed; Export
6 define-class as standard-define-class.
7
8 2005-01-18 Marius Vollmer <marius.vollmer@uni-dortmund.de>
9
10 * goops.scm (class-of): Changed from being re-exported to just
11 being exported.
12
13 2004-02-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
14
15 * Makefile.am, goops/Makefile.am (TAGS_FILES): Use this variable
16 instead of ETAGS_ARGS so that TAGS can be built using separate
17 build directory.
18
19 2004-01-12 Marius Vollmer <mvo@zagadka.de>
20
21 * goops.scm (compute-get-n-set): Use '#:' in error message instead
22 of ':'. Thanks to Richard Todd!
23
24 2003-04-20 Mikael Djurfeldt <djurfeldt@nada.kth.se>
25
26 * goops.scm (compute-getters-n-setters): Allow for primitive
27 procedure thunks. (Thanks to Neil W. Van Dyke.)
28
29 2003-04-19 Mikael Djurfeldt <djurfeldt@nada.kth.se>
30
31 * goops/dispatch.scm (cache-hashval): Corrected termination
32 condition for hashval computation. (Previously, it made erroneous
33 assumptions about the representation of environments; Thanks to
34 Andreas Rottmann.)
35
36 2003-04-17 Mikael Djurfeldt <djurfeldt@nada.kth.se>
37
38 * goops.scm (compute-getters-n-setters): Check for bad init-thunk.
39 (eqv?): Added default method.
40 (equal?): New default method which uses eqv?.
41
42 2003-04-15 Mikael Djurfeldt <djurfeldt@nada.kth.se>
43
44 * goops.scm (compute-getter-method): For custom getter: Check
45 boundness even if there is an init-thunk. (The getter can return
46 #<unbound> even if the slot has been set before.)
47 (remove-class-accessors!): Also remove accessor-method from its
48 accessor.
49
50 2003-04-13 Mikael Djurfeldt <djurfeldt@nada.kth.se>
51
52 * goops.scm (compute-getters-n-setters/verify-accessors): Better
53 check of format of value returned by compute-get-n-set.
54 (compute-getters-n-setters): Extended format of slot
55 getters-n-setters to indicate position and size of slot memory
56 allocated in instances.
57
58 2003-04-05 Marius Vollmer <mvo@zagadka.de>
59
60 * Changed license terms to the plain LGPL thru-out.
61
62 2003-03-19 Mikael Djurfeldt <mdj@kvast.blakulla.net>
63
64 * goops.scm (process-class-pre-define-accessor): Temporary kludge
65 to fix a problem introduced by my previous change.
66
67 2003-03-17 Mikael Djurfeldt <djurfeldt@nada.kth.se>
68
69 * goops.scm (process-class-pre-define-generic,
70 process-class-pre-define-accessor, process-define-generic,
71 process-define-accessor): New functions.
72 (define-class-pre-definition): Use
73 process-class-pre-define-generic and
74 process-class-pre-define-accessor; Make sure not to create a new
75 local variable if the variable has been imported.
76 (define-generic): Use process-define-generic.
77 (define-accessor): Use process-define-accessor.
78
79 2003-03-12 Mikael Djurfeldt <djurfeldt@nada.kth.se>
80
81 * goops.scm (merge-generics): Make sure not to merge a gf with
82 itself. That would be the cause of a real binding collision.
83
84 2003-03-11 Mikael Djurfeldt <djurfeldt@nada.kth.se>
85
86 * goops/util.scm (filter): Removed. (Now supplied by core.)
87
88 * goops.scm (define-extended-generics): New syntax.
89 (<class> <operator-class> <entity-class> <entity>): Marked as
90 replacements.
91 (upgrade-accessor): Renamed from upgrade-generic-with-setter.
92 (ensure-accessor, upgrade-accessor): Rewritten to accomodate the
93 new <accessor> class.
94 (merge-accessors): Provide for merging of accessors imported from
95 different modules under the same name.
96
97 2003-03-07 Mikael Djurfeldt <djurfeldt@nada.kth.se>
98
99 * goops.scm (equal?): Define default method.
100 (merge-generics): Provide for merging of generic functions
101 imported into a module under the same name.
102
103 2003-01-18 Mikael Djurfeldt <djurfeldt@nada.kth.se>
104
105 * goops.scm (method): Construct a new copy of the constant '('())
106 for every macro invocation.
107
108 2003-01-08 Mikael Djurfeldt <djurfeldt@nada.kth.se>
109
110 * goops.scm (upgrade-generic-with-setter,
111 compute-new-list-of-methods): Use methods slot directly instead of
112 generic-function-methods.
113 (upgrade-generic-with-setter): Handle <extended-generic>:s.
114 (define-extended-generic): New syntax.
115 (make-extended-generic): New function.
116
117 2002-12-08 Rob Browning <rlb@defaultvalue.org>
118
119 * Makefile.am (subpkgdatadir): VERSION -> GUILE_EFFECTIVE_VERSION.
120
121 * goops/Makefile.am (subpkgdatadir): VERSION ->
122 GUILE_EFFECTIVE_VERSION.
123
124 2002-11-16 Dirk Herrmann <D.Herrmann@tu-bs.de>
125
126 * goops.scm (standard-define-class): Changed definition to form
127 a 'real' macro definition.
128
129 2002-07-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
130
131 * goops.scm (define-generic, define-accessor): Make sure that
132 define-generic and define-accessor will continue to work when
133 mmacros are expanded before execution.
134
135 2002-07-13 Dirk Herrmann <D.Herrmann@tu-bs.de>
136
137 * goops.scm (define-class): Make sure that define-class will
138 continue to work when mmacros are expanded before execution.
139
140 2002-07-08 Dirk Herrmann <D.Herrmann@tu-bs.de>
141
142 * goops.scm (define-generic, define-accessor): Make sure that
143 implicit redefines only happen on top level.
144
145 * goops.scm (define-class, define-generic, define-accessor),
146 goops/stklos.scm (define-class): Use mmacros instead of macros.
147
148 2002-07-07 Dirk Herrmann <D.Herrmann@tu-bs.de>
149
150 * goops/save.scm (restore): Replaced "macro" by mmacro.
151
152 2001-10-21 Mikael Djurfeldt <mdj@linnaeus>
153
154 * goops.scm, goops/active-slot.scm, goops/compile.scm,
155 goops/composite-slot.scm, goops/describe.scm, goops/dispatch.scm,
156 goops/old-define-method.scm, goops/save.scm, goops/util.scm: Move
157 module the system directives `export', `export-syntax',
158 `re-export' and `re-export-syntax' into the `define-module' form.
159 This is the recommended way of exporting bindings.
160
161 2001-08-25 Marius Vollmer <mvo@zagadka.ping.de>
162
163 * Makefile.am, goops/Makefile.am: (AUTOMAKE_OPTIONS): Change
164 "foreign" to "gnu".
165
166 2001-07-29 Marius Vollmer <mvo@zagadka.ping.de>
167
168 * goops/dispatch.scm (hashset-index): Renumbered, since the vcell
169 slot of structs has been removed.
170
171 2001-07-18 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
172
173 * goops/util.scm: Updated copyright notice.
174
175 2001-07-17 Martin Grabmueller <mgrabmue@cs.tu-berlin.de>
176
177 * goops/save.scm: Use `re-export' instead of `export' when
178 re-exporting `make-unbound'.
179
180 2001-06-05 Marius Vollmer <mvo@zagadka.ping.de>
181
182 * goops.scm: Use `re-export' instead of `export' when re-exporting
183 `class-of'.
184
185 2001-05-19 Marius Vollmer <mvo@zagadka.ping.de>
186
187 * goops.scm: Call `%init-goops-builtins' instead of using the
188 `(oop goops goopscore)' module.
189
190 2001-05-10 Marius Vollmer <mvo@zagadka.ping.de>
191
192 * goops/compile.scm (compile-method): Insert comment that
193 `procedure-source' can not be guaranteed to be reliable or
194 efficient.
195
196 2001-05-05 Marius Vollmer <mvo@zagadka.ping.de>
197
198 * goops.scm (initialize-object-procedure): Use
199 `valid-object-procedure?' instead of explicit tag magic.
200 (object-procedure-tags): Removed.
201
202 * goops/util.scm (top-level-env): Use `current-module' instead of
203 the deprecated *top-level-lookup-closure*.
204
205 2001-04-28 Rob Browning <rlb@cs.utexas.edu>
206
207 * goops/save.scm (write-readably): rename list* to cons*.
208
209 * goops.scm (method): rename list* to cons*.
210
211 2001-04-10 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
212
213 * goops/Makefile.am, goops/goopscore.scm: Reverted changes of
214 2001-04-03, 2001-03-09.
215
216 2001-04-03 Keisuke Nishida <kxn30@po.cwru.edu>
217
218 * goops/Makefile.am (goops_sources): Include goopscore.scm.
219 Thanks to Dale P. Smith.
220
221 2001-03-29 Keisuke Nishida <kxn30@po.cwru.edu>
222
223 * goops/goopscore.scm: New file.
224
225 2001-03-09 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
226
227 * goops.scm (define-method): Only accept new syntax.
228
229 * Makefile.am: Added old-define-method.scm.
230
231 * goops/old-define-method.scm: New file.
232
233 * goops.scm, goops/save.scm, goops/composite-slot.scm,
234 goops/active-slot.scm: Use new method syntax.
235
236 2001-03-04 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
237
238 * goops/compile.scm (compile-method): Tag method closure for body
239 expansion.
240
241 * goops.scm (change-object-class): Quote empty list constants.
242 (method): Reverted previous change (enclosing body);
243 Quote empty list.
244 (initialize <method>): Supply `dummy-procedure' as default instead
245 of creating a new closure.
246
247 * goops/internal.scm: Re-export (oop goops) without copying
248 bindings.
249
250 2001-02-23 Keisuke Nishida <kxn30@po.cwru.edu>
251
252 * goops.scm (method): Enclosed BODY by `(let () ...)'.
253 This allows local defines at the beginning of methods.
254
255 2000-12-15 Dirk Herrmann <D.Herrmann@tu-bs.de>
256
257 * goops/save.scm (load-objects): eval-in-module is deprecated.
258 Use eval instead.
259
260 2000-11-24 Dirk Herrmann <D.Herrmann@tu-bs.de>
261
262 * goops.scm: Don't export removed %logand any more.
263
264 * goops/dispatch.scm (cache-try-hash!): Use logand instead of
265 %logand.
266
267 2000-11-06 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
268
269 * goops.scm (internal-add-method!): Set n-specialized of a generic
270 function to the number of specializers regardless if it has rest
271 args or not.
272
273 * goops/dispatch.scm (method-cache-install!): Use n-specialized +
274 1 args for type matching. (Thanks to Lars J. Aas.)
275
276 2000-10-23 Mikael Djurfeldt <mdj@linnaeus.mit.edu>
277
278 * goops.scm (goops-error): Removed use of oldfmt.
279