summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-12-28 15:09:56 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-12-28 15:09:56 +0000
commit23a62df4fea25cfaa41382f283aa8b2411d7015b (patch)
treeef8d983adfb2368c39bc403a6890e01d2183cfca /libguile
parentc275ccf59e31d76edf35385e62d6b82c0da2543d (diff)
downloadguile-23a62df4fea25cfaa41382f283aa8b2411d7015b.tar.gz
* Re-introduces the unused member "documentation" of struct scm_subr_entry.
Diffstat (limited to 'libguile')
-rw-r--r--libguile/ChangeLog12
-rw-r--r--libguile/procs.c3
-rw-r--r--libguile/procs.h3
3 files changed, 17 insertions, 1 deletions
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index fcc3b94a7..665d820d6 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,3 +1,15 @@
+2000-12-28 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ This patch re-introduces the unused member "documentation" of
+ struct scm_subr_entry as requested by Mikael Djurfeldt.
+
+ * procs.h (scm_subr_entry): Re-introduced member "documentation".
+
+ (SCM_SUBR_DOC): Un-deprecated.
+
+ * procs.c (scm_make_subr_opt, scm_mark_subr_table): Struct
+ scm_subr_entry has a member "documentation" again.
+
2000-12-28 Michael Livshin <mlivshin@bigfoot.com>
* guardians.c (mark_dependencies_in_tconc): new function.
diff --git a/libguile/procs.c b/libguile/procs.c
index a79c7d79c..d1279a21a 100644
--- a/libguile/procs.c
+++ b/libguile/procs.c
@@ -102,6 +102,7 @@ scm_make_subr_opt (const char *name, int type, SCM (*fcn) (), int set)
scm_subr_table[entry].handle = z;
scm_subr_table[entry].name = symbol;
scm_subr_table[entry].generic = 0;
+ scm_subr_table[entry].properties = SCM_EOL;
SCM_SET_SUBRF (z, fcn);
SCM_SET_CELL_TYPE (z, (entry << 8) + type);
@@ -148,6 +149,8 @@ scm_mark_subr_table ()
SCM_SETGCMARK (scm_subr_table[i].name);
if (scm_subr_table[i].generic && *scm_subr_table[i].generic)
scm_gc_mark (*scm_subr_table[i].generic);
+ if (SCM_NIMP (scm_subr_table[i].properties))
+ scm_gc_mark (scm_subr_table[i].properties);
}
}
diff --git a/libguile/procs.h b/libguile/procs.h
index a843525a4..3e332f0ab 100644
--- a/libguile/procs.h
+++ b/libguile/procs.h
@@ -62,6 +62,7 @@ typedef struct
SCM *generic; /* 0 if no generic support
* *generic == 0 until first method
*/
+ SCM properties; /* procedure properties */
} scm_subr_entry;
#define SCM_SUBRNUM(subr) (SCM_CELL_WORD_0 (subr) >> 8)
@@ -72,6 +73,7 @@ typedef struct
#define SCM_SUBRF(x) ((SCM (*)()) SCM_CELL_WORD_1 (x))
#define SCM_SET_SUBRF(x, v) (SCM_SET_CELL_WORD_1 ((x), (v)))
#define SCM_DSUBRF(x) ((double (*)()) SCM_CELL_WORD_1 (x))
+#define SCM_SUBR_PROPS(x) (SCM_SUBR_ENTRY (x).properties)
#define SCM_SUBR_GENERIC(x) (SCM_SUBR_ENTRY (x).generic)
#define SCM_CCLO_LENGTH(x) (SCM_CELL_WORD_0 (x) >> 8)
@@ -188,7 +190,6 @@ extern SCM scm_make_cclo (SCM proc, SCM len);
#if (SCM_DEBUG_DEPRECATED == 0)
-#define SCM_SUBR_PROPS(x) SCM_EOL
#define SCM_SUBR_DOC(x) SCM_BOOL_F
#endif /* SCM_DEBUG_DEPRECATED == 0 */