diff options
author | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1997-10-03 00:44:28 +0000 |
---|---|---|
committer | Mikael Djurfeldt <djurfeldt@nada.kth.se> | 1997-10-03 00:44:28 +0000 |
commit | 4bfdf1584d55f7586ec6ba2baef513414fad20b0 (patch) | |
tree | b6e391a86b117d3ff8f30952d6472643187f9d04 /libguile/print.h | |
parent | f44dd64b76692365a4f9cc5f46cdf78aae116cac (diff) | |
download | guile-4bfdf1584d55f7586ec6ba2baef513414fad20b0.tar.gz |
1997-10-03 Mikael Djurfeldt <mdj@nada.kth.se>
* print.h (SCM_PRINT_STATE_P): Removed SCM_NIMP test. (NIMP
macros should by convention not test for NIMPness.)
(SCM_COERCE_OPORT): Adjust indentation.
* print.c (scm_valid_oport_value_p): Adjusted indentation; Added
SCM_NIMP test before SCM_PRINT_STATE_P.
* struct.c, struct.h, gc.c: Renamed:
scm_struct_i_layout --> scm_vtable_index_layout
scm_struct_i_vcell --> scm_vtable_index_vcell
scm_struct_i_vtable --> scm_vtable_index_vtable
scm_struct_i_printer --> scm_vtable_index_printer
scm_struct_i_vtable_offset --> scm_vtable_offset_user
* struct.c (scm_print_struct): Use new printer slot; Default
printing: Also output hex code of vtable so that type identity
will be indicated as well.
(scm_init_struct): Updated required_vtable_fields to "pruosrpw";
Removed struct_printer_var; Removed struct-vtable-offset;
(vtable-index-layout, vtable-index-vtable, vtable-index-printer,
vtable-offset-user): New constants.
* struct.h (scm_struct_i_vtable_offset): Bumped from 3 to 4.
(scm_struct_i_printer, SCM_STRUCT_PRINTER): New slot in vtables.
If this slot contains a procedure, use that to print structures of
the type represented by this vtable.
* print.c (scm_iprin1): Don't print arguments of macro
transformers. (They are always: exp env.); Bugfix: Unmemoize
transformer source with correct environment.
Diffstat (limited to 'libguile/print.h')
-rw-r--r-- | libguile/print.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libguile/print.h b/libguile/print.h index 2025c8f89..00d724d51 100644 --- a/libguile/print.h +++ b/libguile/print.h @@ -56,9 +56,9 @@ extern scm_option scm_print_opts[]; /* State information passed around during printing. */ -#define SCM_PRINT_STATE_P(obj) (SCM_NIMP(obj) && SCM_STRUCTP(obj) && \ - SCM_STRUCT_VTABLE(obj) == \ - scm_print_state_vtable) +#define SCM_PRINT_STATE_P(obj) (SCM_STRUCTP(obj) \ + && (SCM_STRUCT_VTABLE(obj) \ + == scm_print_state_vtable)) #define SCM_PRINT_STATE(obj) ((scm_print_state *) SCM_STRUCT_DATA (obj)) #define RESET_PRINT_STATE(pstate) \ @@ -70,8 +70,9 @@ extern scm_option scm_print_opts[]; #define SCM_WRITINGP(pstate) ((pstate)->writingp) #define SCM_SET_WRITINGP(pstate, x) { (pstate)->writingp = (x); } -#define SCM_COERCE_OPORT(p) ((SCM_NIMP(p) && SCM_PRINT_STATE_P(SCM_CDR (p)))? \ - SCM_CAR(p) : p) +#define SCM_COERCE_OPORT(p) ((SCM_NIMP (p) && SCM_PRINT_STATE_P (SCM_CDR (p))) \ + ? SCM_CAR (p) \ + : p) #define SCM_PRINT_STATE_LAYOUT "sruwuwuwuwuwpwuwuwuruopr" typedef struct scm_print_state { |