public inbox for guile-cvs@sourceware.org
help / color / mirror / Atom feed
* guile/guile-oops goops.c
@ 2000-06-20 19:40 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-06-20 19:40 UTC (permalink / raw)
To: guile-cvs
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).
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-08-26 20:23 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-08-26 20:23 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-08-09 11:41 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-08-09 11:41 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-08-08 23:27 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-08-08 23:27 UTC (permalink / raw)
To: guile-cvs
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.)
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-08-08 9:15 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-08-08 9:15 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-07-02 0:34 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-07-02 0:34 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-07-02 0:06 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-07-02 0:06 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-06-30 13:01 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-06-30 13:01 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-06-30 8:39 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-06-30 8:39 UTC (permalink / raw)
To: guile-cvs
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.)
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-06-04 8:35 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-06-04 8:35 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-04-18 20:23 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-04-18 20:23 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-04-13 8:16 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-04-13 8:16 UTC (permalink / raw)
To: guile-cvs
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.)
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-03-23 7:05 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-03-23 7:05 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-03-23 5:51 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-03-23 5:51 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-03-13 23:10 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-03-13 23:10 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-02-11 1:12 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-02-11 1:12 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 2000-01-11 17:09 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 2000-01-11 17:09 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-12-19 12:56 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-12-19 12:56 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-12-18 3:58 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-12-18 3:58 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-12-17 19:30 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-12-17 19:30 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-12-17 15:21 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-12-17 15:21 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-12-14 13:48 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-12-14 13:48 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-12-12 11:36 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-12-12 11:36 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-09-15 10:48 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-09-15 10:48 UTC (permalink / raw)
To: guile-cvs
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'.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-29 12:22 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-29 12:22 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-23 14:31 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-23 14:31 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-21 15:28 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-21 15:28 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-21 13:12 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-21 13:12 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-20 15:06 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-20 15:06 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-20 12:37 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-20 12:37 UTC (permalink / raw)
To: guile-cvs
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>.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-20 10:09 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-20 10:09 UTC (permalink / raw)
To: guile-cvs
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>.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-05 9:44 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-05 9:44 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-08-04 4:49 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-08-04 4:49 UTC (permalink / raw)
To: guile-cvs
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
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-07-25 12:31 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-07-25 12:31 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
* guile/guile-oops goops.c
@ 1999-07-24 16:48 mdj
0 siblings, 0 replies; 35+ messages in thread
From: mdj @ 1999-07-24 16:48 UTC (permalink / raw)
To: guile-cvs
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.
^ permalink raw reply [flat|nested] 35+ messages in thread
end of thread, other threads:[~2000-08-26 20:23 UTC | newest]
Thread overview: 35+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-20 19:40 guile/guile-oops goops.c mdj
-- strict thread matches above, loose matches on Subject: below --
2000-08-26 20:23 mdj
2000-08-09 11:41 mdj
2000-08-08 23:27 mdj
2000-08-08 9:15 mdj
2000-07-02 0:34 mdj
2000-07-02 0:06 mdj
2000-06-30 13:01 mdj
2000-06-30 8:39 mdj
2000-06-04 8:35 mdj
2000-04-18 20:23 mdj
2000-04-13 8:16 mdj
2000-03-23 7:05 mdj
2000-03-23 5:51 mdj
2000-03-13 23:10 mdj
2000-02-11 1:12 mdj
2000-01-11 17:09 mdj
1999-12-19 12:56 mdj
1999-12-18 3:58 mdj
1999-12-17 19:30 mdj
1999-12-17 15:21 mdj
1999-12-14 13:48 mdj
1999-12-12 11:36 mdj
1999-09-15 10:48 mdj
1999-08-29 12:22 mdj
1999-08-23 14:31 mdj
1999-08-21 15:28 mdj
1999-08-21 13:12 mdj
1999-08-20 15:06 mdj
1999-08-20 12:37 mdj
1999-08-20 10:09 mdj
1999-08-05 9:44 mdj
1999-08-04 4:49 mdj
1999-07-25 12:31 mdj
1999-07-24 16:48 mdj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).