CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/07/24 16:48:17 Modified files: guile-oops : goops.c Log message: * goops.c, goops.h (scm_class_port, scm_class_input_port, scm_class_output_port, scm_class_input_output_port): Added. * goops.c (make_standard_classes): Initialize new classes. (make_class_from_template): Added. (make_extended_class): Use make_class_from_template. (local_make_port_classes): Added. Plugs into objects.c:scm_make_port_classes. (make_port_classes): Make port classes corresponding to all existing port types. (scm_init_goops): Call make_port_classes.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/07/25 12:31:02 Modified files: guile-oops : goops.c Log message: * goops.c (prep_hashsets): Added. (scm_sys_inherit_magic): Call prep_hashsets. * goops.c (scm_class_port, scm_class_input_port, scm_class_output_port, scm_class_input_output_port): Added. (make_standard_classes): Initialize new classes. (make_class_from_template): Added. (make_extended_class): Use make_class_from_template. (local_make_port_classes): Added. Plugs into objects.c:scm_make_port_classes. (make_port_classes): Make port classes corresponding to all existing port types. (scm_init_goops): Call make_port_classes.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/04 04:49:08 Modified files: guile-oops : goops.c Log message: * goops.c, goops.h (scm_sys_invalidate_class): Added; (default-slot-definition-class, keyword-access): New slots; Rearranged slots. (scm_m_atslot_ref, scm_m_atslot_set_x, scm_m_dispatch, scm_m_hash_dispatch): New macros. (memoize_method): Dispatcher for the generic function `memoize-method!'. Plugs into scm_memoize_method in eval.c. * goops.c, goops.h: Renamed SCM_METACLASS_GOOPS_LAYOUT --> SCM_CLASS_CLASS_LAYOUT; SCM_CLASSF_ACCESSOR --> SCM_CLASSF_ACCESSOR_METHOD
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/05 09:44:03 Modified files: guile-oops : goops.c Log message: * goops.c: Removed old apply generic protocol. * goops.c: Updated Copyright notice. (scm_make): Initialize code table slot for methods.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/20 10:09:07 Modified files: guile-oops : goops.c Log message: * goops.c (compute_getters_n_setters): Pay attention to keywords #:init-value and #:init-thunk (memoize_method): Lock method cache mutex during method memoization. * goops.c, goops.h (cache-mutex): New slot in class <generic>.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/20 12:37:03 Modified files: guile-oops : goops.c Log message: * goops.c (scm_add_slot): Conform to new-style methods (no next-method argument). * goops.c (compute_getters_n_setters): Pay attention to keywords #:init-value and #:init-thunk (memoize_method): Lock method cache mutex during method memoization. * goops.c, goops.h (cache-mutex): New slot in class <generic>.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/20 15:06:27 Modified files: guile-oops : goops.c Log message: (get_slot_value, set_slot_value): Expand bodies; Allow primitive getters and setters.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/21 13:12:35 Modified files: guile-oops : goops.c Log message: * goops.c (scm_goops_version): Version information.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/21 15:28:54 Modified files: guile-oops : goops.c Log message: * goops.c, goops.h (SCM_INITIAL_MCACHE_SIZE): Renamed from SCM_INITIAL_HASH_SIZE and set to 1.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/23 14:31:18 Modified files: guile-oops : goops.c Log message: * goops.c (scm_sys_allocate_instance): Rewritten.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/08/29 12:22:39 Modified files: guile-oops : goops.c Log message: * goops.c (create_standard_classes): scm_class_foreign_object made a subclass to scm_class_object. (get_slot_value, set_slot_value): Use scm_eval_body.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@egcs.cygnus.com 99/09/15 10:48:45 Modified files: guile-oops : goops.c Log message: * goops.scm, goops.c, goops.exi, README (write-object, display-object): Removed. Instead use the new primitive generics `display' and `write'.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 99/12/12 11:36:24 Modified files: guile-oops : goops.c Log message: * goops.c (set_slot_value_if_unbound): Removed. (slot_definition_using_name): New function. (get_slot_value, set_slot_value): Now takes a slot definition instead of name as third (fourth) arg. (get_slot_value_using_name, set_slot_value_using_name): Same signature as old versions of get/set_slot_value. (scm_sys_initialize_object): Use get/set_slot_value directly and using the slot definition so that initialization becomes O(n_slots) instead of O(n_slots^2). Initialization also becomes independent of slot naming.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 99/12/14 13:48:25 Modified files: guile-oops : goops.c Log message: * goops.c (SCM_GOOPS_UNBOUND): Define as SCM_UNBOUND if existent.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 99/12/17 15:21:05 Modified files: guile-oops : goops.c Log message: * goops.c (scm_assert_bound): New function.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 99/12/17 19:30:43 Modified files: guile-oops : goops.c Log message: * goops.c (scm_init_goops): Conditionally add extra arg to scm_mutex_init.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 99/12/18 03:58:00 Modified files: guile-oops : goops.c Log message: * goops.c (scm_at_assert_bound_ref): New function.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 99/12/19 12:56:02 Modified files: guile-oops : goops.c Log message: * goops.c (scm_sys_logand): Temporary replacement for the INUM-only libguile version.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/01/11 17:09:05 Modified files: guile-oops : goops.c Log message: * goops.c, goops.h (scm_oldfmt): New procedure. (scm_c_oldfmt, scm_c_oldfmt0): New functions. Inserted SCM_OLDFMT around all format strings with ~S. * goops.c, goops.scm, composite-slot.scm, stklos.scm: Replace %S with ~S everywhere.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/02/11 01:12:51 Modified files: guile-oops : goops.c Log message: * goops.c (scm_sloppy_num2ulong): Added. (scm_sys_logand): Rewritten.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/03/13 23:10:21 Modified files: guile-oops : goops.c Log message: * goops.c (create_smob_classes): Adaptations to reorganization of types in Guile-1.3.5.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/03/23 05:51:30 Modified files: guile-oops : goops.c Log message: * goops.c (wrap_init): Cast second arg to SETCDR to SCM.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/03/23 07:05:26 Modified files: guile-oops : goops.c Log message: * goops.c (wrap_init): Cast second arg to SETCDR to SCM. (create_smob_classes): Initialize the new real and complex smobs with their correct classes.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/04/13 08:16:42 Modified files: guile-oops : goops.c Log message: * goops.c (scm_shared_array_root, scm_shared_array_offset, scm_shared_array_increments): New primities. (These are provided by newer Guile versions.)
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/04/18 20:23:04 Modified files: guile-oops : goops.c Log message: * goops.c (scm_sys_allocate_instance): Bugfix: Initialize setter and procedure in entities before doing things which can cause GC. Give more specific about information "what" to scm_must_malloc. (scm_sys_inherit_magic_x): Make 0-slot instances have standard (non-light) allocation. This fixes a memory leak.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/06/04 08:35:04 Modified files: guile-oops : goops.c Log message: * goops.c (go_to_hell): Cast object to SCM.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/06/20 19:40:21 Modified files: guile-oops : goops.c Log message: * goops.c: Use SCM_TOP_LEVEL_LOOKUP_CLOSURE instead of SCM_CDR (scm_top_level_lookup_closure_var).
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/06/30 08:39:13 Modified files: guile-oops : goops.c Log message: * goops.c (scm_sys_invalidate_method_cache_x): Strip rest args flag. (Thanks to Nicolas Neuss.)
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/06/30 13:01:29 Modified files: guile-oops : goops.c Log message: * goops.h, goops.c (scm_module_goops): New variable. * goops.c (scm_sys_invalidate_method_cache_x): Strip rest args flag. (Thanks to Nicolas Neuss.) (scm_init_goops, make_class_from_template): Use scm_module_goops.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/07/02 00:06:43 Modified files: guile-oops : goops.c Log message: * goops.c (call_memoize_method): Made thread safe. Method memoization is synchronized between threads via a mutex, but the case where one thread is dispatching using the method cache being altered by another thread was not handled correctly.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 00/07/02 00:34:05 Modified files: guile-oops : goops.c Log message: * goops.c (call_memoize_method): Reverted previous change.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 2000-08-08 09:15:02 Modified files: guile-oops : goops.c Log message: * goops.c (sort_applicable_methods): Changed SCM_CAR (X) = Y to SCM_SETCAR (X, Y) + code layout.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 2000-08-08 23:27:28 Modified files: guile-oops : goops.c Log message: * goops.c (scm_sys_modify_instance, scm_sys_modify_class): Rewritten (In Guile-1.4, we can no longer rely on SCM_REDEFER/REALLOW_INTS.)
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 2000-08-09 11:41:16 Modified files: guile-oops : goops.c Log message: * goops.c (scm_sys_modify_instance, scm_sys_modify_class): Rewritten (In Guile-1.4, we can no longer rely on SCM_REDEFER/REALLOW_INTS.) (scm_wrap_init, scm_wrap_object): Adapt to recent change to structs in guile.
CVSROOT: /cvs/guile Module name: guile Changes by: mdj@sourceware.cygnus.com 2000-08-26 20:23:10 Modified files: guile-oops : goops.c Log message: * goops.c (create_basic_classes): Pass a string, not a symbol, to scm_make_vtbale_vtable.