1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 20:30:28 +02:00
Commit graph

28 commits

Author SHA1 Message Date
Mikael Djurfeldt
3bf465263c * goops.scm (compute-getters-n-setters): Allow for primitive
procedure thunks.  (Thanks to Neil W. Van Dyke.)
2003-04-20 17:33:08 +00:00
Mikael Djurfeldt
3d167db8a9 * goops/dispatch.scm (cache-hashval): Corrected termination
condition for hashval computation.  (Previously, it made erroneous
assumptions about the representation of environments; Thanks to
Andreas Rottmann.)
2003-04-19 17:15:38 +00:00
Mikael Djurfeldt
95f2bb326c * goops.scm (eqv?, equal?): Provide default methods for `eqv?' and
`equal?'.
(compute-getters-n-setters): Check for bad init-thunks.
(update-direct-method!): Use eq? instead of eqv?.
2003-04-17 18:52:21 +00:00
Mikael Djurfeldt
61951a9a9a *** empty log message *** 2003-04-17 18:48:27 +00:00
Mikael Djurfeldt
071d6b0ecc * tests/goops.test: New tests.
* goops.scm (equal?): Provide default method for `equal?'.
(compute-getters-n-setters): Check for bad init-thunks.

* eq.c (scm_equal_p): Turned into a primitive generic.

* snarf.h (SCM_PRIMITIVE_GENERIC, SCM_PRIMITIVE_GENERIC_1): New
macros.
2003-04-17 17:50:57 +00:00
Mikael Djurfeldt
168629c99a * goops.scm (compute-getter-method): For custom getter: Check
boundness even if there is an init-thunk.  (The getter can return
#<unbound> even if the slot has been set before.)

* goops.c (scm_sys_fast_slot_ref): Use SCM_SLOT instead of
scm_at_assert_bound_ref.  (We don't want the unbound check.  See
oop/goops/active-slot.scm.)
2003-04-15 01:15:06 +00:00
Mikael Djurfeldt
55ccbd3545 * goops.scm (compute-getters-n-setters/verify-accessors): Better
check of format of value returned by compute-get-n-set.
(compute-getters-n-setters): Extended format of slot
getters-n-setters to indicate position and size of slot memory
allocated in instances.

* goops.c (scm_sys_prep_layout_x): Instance allocation is now
indicated through extra fields in getters-n-setters.
(scm_add_slot): Adapted to new format of getters_n_setters slot.
(Thanks to Andy Wingo.)
2003-04-13 15:05:05 +00:00
Rob Browning
9ccfa5bf15 *** empty log message *** 2002-12-08 21:03:40 +00:00
Thien-Thi Nguyen
25216b3f51 *** empty log message *** 2002-02-09 06:03:43 +00:00
Mikael Djurfeldt
7dd526de2d * goops.scm, goops/active-slot.scm, goops/compile.scm,
goops/composite-slot.scm, goops/describe.scm, goops/dispatch.scm,
goops/old-define-method.scm, goops/save.scm, goops/util.scm: Move
module the system directives `export', `export-syntax',
`re-export' and `re-export-syntax' into the `define-module' form.
This is the recommended way of exporting bindings.
2001-10-18 19:42:22 +00:00
Martin Grabmüller
4ff63331dd * goops/util.scm: Updated copyright notice. 2001-07-19 20:50:48 +00:00
Martin Grabmüller
38038d4c6c * goops/save.scm: Use re-export' instead of export' when
re-exporting `make-unbound'.
2001-07-17 05:28:20 +00:00
Marius Vollmer
feeedafb9c *** empty log message *** 2001-06-04 22:18:59 +00:00
Marius Vollmer
7c628196fd *** empty log message *** 2001-05-19 00:19:42 +00:00
Marius Vollmer
f3f9dcbc5d *** empty log message *** 2001-05-15 15:00:31 +00:00
Marius Vollmer
c10ecc4c81 *** empty log message *** 2001-05-05 19:16:08 +00:00
Rob Browning
c90fcdf63f *** empty log message *** 2001-04-28 17:18:16 +00:00
Mikael Djurfeldt
b592004c72 * goops/Makefile.am, goops/goopscore.scm: Reverted changes of
2001-04-03, 2001-03-09.
2001-04-11 02:13:14 +00:00
Keisuke Nishida
a082616648 * goops/Makefile.am (goops_sources): Include goopscore.scm. 2001-04-03 20:48:20 +00:00
Keisuke Nishida
a255cf13ba * goops/goopscore.scm: New file. 2001-03-30 02:51:50 +00:00
Mikael Djurfeldt
71d540f734 * goops.scm (define-method): Only accept new syntax.
* goops/old-define-method.scm: New file.

* goops.scm, goops/save.scm, goops/composite-slot.scm,
goops/active-slot.scm: Use new method syntax.
2001-03-10 03:09:50 +00:00
Mikael Djurfeldt
b432fb4b99 * goops/compile.scm (compile-method): Tag method closure for body
expansion.

* goops.scm (change-object-class): Quote empty list constants.
(method): Reverted previous change (enclosing body);
Quote empty list.
(initialize <method>): Supply `dummy-procedure' as default instead
of creating a new closure.

* goops/internal.scm: Re-export (oop goops) without copying
bindings.
2001-03-04 20:46:34 +00:00
Mikael Djurfeldt
cc6c7feea4 * goops.scm (change-object-class): Quote empty list constants.
(method): Reverted previous change (enclosing body);
Quote empty list.
(initialize <method>): Pre-expand the method closure.
2001-03-04 05:28:21 +00:00
Keisuke Nishida
19b6a58d52 * goops.scm (method): Enclosed BODY by `(let () ...)'.
This allows local defines at the beginning of methods.
2001-02-23 13:07:09 +00:00
Dirk Herrmann
3b505adf7d * Use eval instead of eval-in-module. 2000-12-15 09:53:56 +00:00
Dirk Herrmann
ca83b028dc * Goops does not provide its own version of logand any more.
* Removed use of deprecated stuff from goops.
2000-11-24 10:55:23 +00:00
Mikael Djurfeldt
b100f5eed2 *** empty log message *** 2000-11-07 02:19:13 +00:00
Mikael Djurfeldt
14f1d9fec8 *** empty log message *** 2000-10-25 14:51:33 +00:00