diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-08-30 20:12:09 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-08-30 20:12:09 +0200 |
commit | 807e5a6641b2aa37ce4198a6c13f1aaebd3a5f25 (patch) | |
tree | 34ef7e574f4b2027e3971406e368e25628d475c0 /libguile/validate.h | |
parent | d6097d1d63a269ce960c47f81902aaaf26d46a64 (diff) | |
download | guile-807e5a6641b2aa37ce4198a6c13f1aaebd3a5f25.tar.gz |
Use a TC7 tag instead of a SMOB for bytevectors.
* libguile/bytevectors.c (scm_tc16_bytevector): Remove.
(SCM_BYTEVECTOR_SET_LENGTH, SCM_BYTEVECTOR_SET_CONTENTS,
SCM_BYTEVECTOR_SET_INLINE, SCM_BYTEVECTOR_SET_ELEMENT_TYPE,
make_bytevector_from_buffer, scm_is_bytevector,
scm_bootstrap_bytevectors): Adjust to the SMOB->tc7 change.
(scm_i_print_bytevector): New, formerly `print_bytevector ()'.
(bytevector_equal_p): Remove.
* libguile/bytevectors.h (SCM_BYTEVECTOR_LENGTH,
SCM_BYTEVECTOR_CONTENTS, SCM_BYTEVECTOR_P): Adjust to SMOB->tc7
change.
(SCM_BYTEVECTOR_FLAGS, SCM_SET_BYTEVECTOR_FLAGS): New macros.
(scm_tc16_bytevector): Remove declaration.
(scm_i_print_bytevector): New declaration.
* libguile/eq.c (scm_equal_p): Handle `scm_tc7_bytevector'.
* libguile/evalext.c (scm_self_evaluating_p): Likewise.
* libguile/print.c (iprin1): Likewise.
* libguile/tags.h (scm_tc7_bytevector): New.
(scm_tc7_unused_8): Remove.
* libguile/validate.h (SCM_VALIDATE_BYTEVECTOR): Adjust.
* test-suite/tests/bytevectors.test ("Datum
Syntax")["self-evaluating?"]: New test.
Diffstat (limited to 'libguile/validate.h')
-rw-r--r-- | libguile/validate.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libguile/validate.h b/libguile/validate.h index b48bec758..8c7946902 100644 --- a/libguile/validate.h +++ b/libguile/validate.h @@ -151,8 +151,9 @@ cvar = scm_to_bool (flag); \ } while (0) -#define SCM_VALIDATE_BYTEVECTOR(_pos, _obj) \ - SCM_VALIDATE_SMOB ((_pos), (_obj), bytevector) +#define SCM_VALIDATE_BYTEVECTOR(_pos, _obj) \ + SCM_ASSERT_TYPE (SCM_BYTEVECTOR_P (_obj), (_obj), (_pos), \ + FUNC_NAME, "bytevector") #define SCM_VALIDATE_CHAR(pos, scm) SCM_MAKE_VALIDATE_MSG (pos, scm, CHARP, "character") |