1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 20:00:19 +02:00

* Re-introduces the unused member "documentation" of struct scm_subr_entry.

This commit is contained in:
Dirk Herrmann 2000-12-28 15:09:56 +00:00
parent c275ccf59e
commit 23a62df4fe
5 changed files with 19 additions and 4 deletions

3
NEWS
View file

@ -330,8 +330,7 @@ SCM_VALIDATE_NULLORROSTRING_COPY, SCM_ROLENGTH, SCM_LENGTH, SCM_HUGE_LENGTH,
SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, SCM_COERCE_SUBSTR, SCM_SUBSTRP, SCM_SUBSTR_STR, SCM_SUBSTR_OFFSET, SCM_COERCE_SUBSTR,
SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING, SCM_ROCHARS, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING, SCM_ROCHARS,
SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX, SCM_GC8MARKP, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX, SCM_GC8MARKP,
SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR, SCM_SUBR_DOC, SCM_SETGC8MARK, SCM_CLRGC8MARK, SCM_GCTYP16, SCM_GCCDR, SCM_SUBR_DOC
SCM_SUBR_PROPS
Use SCM_ASSERT_RANGE or SCM_VALIDATE_XXX_RANGE instead of SCM_OUTOFRANGE. Use SCM_ASSERT_RANGE or SCM_VALIDATE_XXX_RANGE instead of SCM_OUTOFRANGE.
Use scm_memory_error instead of SCM_NALLOC. Use scm_memory_error instead of SCM_NALLOC.

View file

@ -53,7 +53,7 @@ In release 1.6:
SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING, SCM_COERCE_SUBSTR, SCM_ROSTRINGP, SCM_RWSTRINGP, SCM_VALIDATE_RWSTRING,
SCM_ROCHARS, SCM_ROUCHARS, SCM_SETLENGTH, SCM_SETCHARS, SCM_LENGTH_MAX, 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, SCM_SUBR_PROPS SCM_SUBR_DOC
- remove scm_vector_set_length_x - remove scm_vector_set_length_x
- remove function scm_call_catching_errors - remove function scm_call_catching_errors
(replaced by catch functions from throw.[ch]) (replaced by catch functions from throw.[ch])

View file

@ -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> 2000-12-28 Michael Livshin <mlivshin@bigfoot.com>
* guardians.c (mark_dependencies_in_tconc): new function. * guardians.c (mark_dependencies_in_tconc): new function.

View file

@ -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].handle = z;
scm_subr_table[entry].name = symbol; scm_subr_table[entry].name = symbol;
scm_subr_table[entry].generic = 0; scm_subr_table[entry].generic = 0;
scm_subr_table[entry].properties = SCM_EOL;
SCM_SET_SUBRF (z, fcn); SCM_SET_SUBRF (z, fcn);
SCM_SET_CELL_TYPE (z, (entry << 8) + type); SCM_SET_CELL_TYPE (z, (entry << 8) + type);
@ -148,6 +149,8 @@ scm_mark_subr_table ()
SCM_SETGCMARK (scm_subr_table[i].name); SCM_SETGCMARK (scm_subr_table[i].name);
if (scm_subr_table[i].generic && *scm_subr_table[i].generic) if (scm_subr_table[i].generic && *scm_subr_table[i].generic)
scm_gc_mark (*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);
} }
} }

View file

@ -62,6 +62,7 @@ typedef struct
SCM *generic; /* 0 if no generic support SCM *generic; /* 0 if no generic support
* *generic == 0 until first method * *generic == 0 until first method
*/ */
SCM properties; /* procedure properties */
} scm_subr_entry; } scm_subr_entry;
#define SCM_SUBRNUM(subr) (SCM_CELL_WORD_0 (subr) >> 8) #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_SUBRF(x) ((SCM (*)()) SCM_CELL_WORD_1 (x))
#define SCM_SET_SUBRF(x, v) (SCM_SET_CELL_WORD_1 ((x), (v))) #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_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_SUBR_GENERIC(x) (SCM_SUBR_ENTRY (x).generic)
#define SCM_CCLO_LENGTH(x) (SCM_CELL_WORD_0 (x) >> 8) #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) #if (SCM_DEBUG_DEPRECATED == 0)
#define SCM_SUBR_PROPS(x) SCM_EOL
#define SCM_SUBR_DOC(x) SCM_BOOL_F #define SCM_SUBR_DOC(x) SCM_BOOL_F
#endif /* SCM_DEBUG_DEPRECATED == 0 */ #endif /* SCM_DEBUG_DEPRECATED == 0 */