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