summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--RELEASE3
-rw-r--r--libguile/ChangeLog14
-rw-r--r--libguile/procs.c16
-rw-r--r--libguile/procs.h9
5 files changed, 35 insertions, 9 deletions
diff --git a/NEWS b/NEWS
index da16b1ed4..beb2775f8 100644
--- a/NEWS
+++ b/NEWS
@@ -308,7 +308,7 @@ SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH, SCM_LENGTH, SCM_HUGE_LENGTH,
SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, SCM_COERCE_SUBSTR,
SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING, SCM_ROCHARS,
SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX, SCM_GC8MARKP,
-SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR
+SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR, SCM_SUBR_DOC
Use SCM_ASSERT_RANGE or SCM_VALIDATE_XXX_RANGE instead of SCM_OUTOFRANGE.
Use scm_memory_error instead of SCM_NALLOC.
diff --git a/RELEASE b/RELEASE
index 2a3c6a22d..16230478a 100644
--- a/RELEASE
+++ b/RELEASE
@@ -52,7 +52,8 @@ In release 1.6:
SCM_LENGTH, SCM_HUGE_LENGTH, SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET,
SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING,
SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX,
- SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR
+ SCM_GC8MARKP, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR,
+ SCM_SUBR_DOC
- remove scm_vector_set_length_x
- remove function scm_call_catching_errors
(replaced by catch functions from throw.[ch])
diff --git a/libguile/ChangeLog b/libguile/ChangeLog
index 4aa74506f..b00cba05b 100644
--- a/libguile/ChangeLog
+++ b/libguile/ChangeLog
@@ -1,3 +1,17 @@
+2000-12-22 Dirk Herrmann <D.Herrmann@tu-bs.de>
+
+ * procs.h (scm_subr_entry): Removed unused struct member
+ "documentation".
+
+ (SCM_SUBR_DOC): Deprecated.
+
+ * procs.c (scm_make_subr_opt): Eliminate use of scm_intern0 in
+ favor of scm_str2symbol. Similarly, prefer scm_sysintern over
+ scm_sysintern0.
+
+ (scm_make_subr_opt, scm_mark_subr_table): Struct scm_subr_entry
+ does not have a member "documentation" any more.
+
2000-12-21 Dirk Herrmann <D.Herrmann@tu-bs.de>
* eval.c (restore_environment): Make sure that changes to the
diff --git a/libguile/procs.c b/libguile/procs.c
index 787098bf2..d1279a21a 100644
--- a/libguile/procs.c
+++ b/libguile/procs.c
@@ -70,6 +70,7 @@ int scm_subr_table_room = 750;
SCM
scm_make_subr_opt (const char *name, int type, SCM (*fcn) (), int set)
{
+ SCM symbol;
SCM symcell;
register SCM z;
int entry;
@@ -87,14 +88,21 @@ scm_make_subr_opt (const char *name, int type, SCM (*fcn) (), int set)
}
SCM_NEWCELL (z);
- symcell = set ? scm_sysintern0 (name) : scm_intern0 (name);
+ if (set)
+ {
+ symcell = scm_sysintern (name, SCM_UNDEFINED);
+ symbol = SCM_CAR (symcell);
+ }
+ else
+ {
+ symbol = scm_str2symbol (name);
+ }
entry = scm_subr_table_size;
scm_subr_table[entry].handle = z;
- scm_subr_table[entry].name = SCM_CAR (symcell);
+ scm_subr_table[entry].name = symbol;
scm_subr_table[entry].generic = 0;
scm_subr_table[entry].properties = SCM_EOL;
- scm_subr_table[entry].documentation = SCM_BOOL_F;
SCM_SET_SUBRF (z, fcn);
SCM_SET_CELL_TYPE (z, (entry << 8) + type);
@@ -143,8 +151,6 @@ scm_mark_subr_table ()
scm_gc_mark (*scm_subr_table[i].generic);
if (SCM_NIMP (scm_subr_table[i].properties))
scm_gc_mark (scm_subr_table[i].properties);
- if (SCM_NIMP (scm_subr_table[i].documentation))
- scm_gc_mark (scm_subr_table[i].documentation);
}
}
diff --git a/libguile/procs.h b/libguile/procs.h
index 0a3de0374..9a6ed62ef 100644
--- a/libguile/procs.h
+++ b/libguile/procs.h
@@ -63,7 +63,6 @@ typedef struct
* *generic == 0 until first method
*/
SCM properties; /* procedure properties */
- SCM documentation;
} scm_subr_entry;
#define SCM_SUBRNUM(subr) (SCM_CELL_WORD_0 (subr) >> 8)
@@ -88,7 +87,6 @@ typedef struct
#define SCM_SUBR_GENERIC(x) (SCM_SUBR_ENTRY (x).generic)
#define SCM_SUBR_PROPS(x) (SCM_SUBR_ENTRY (x).properties)
-#define SCM_SUBR_DOC(x) (SCM_SUBR_ENTRY (x).documentation)
/* Closures
*/
@@ -190,6 +188,13 @@ extern SCM scm_make_cclo (SCM proc, SCM len);
#endif /*GUILE_DEBUG*/
+
+#if (SCM_DEBUG_DEPRECATED == 0)
+
+#define SCM_SUBR_DOC(x) SCM_BOOL_F
+
+#endif /* SCM_DEBUG_DEPRECATED == 0 */
+
#endif /* PROCSH */
/*