summaryrefslogtreecommitdiff
path: root/libguile/evalext.c
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-08-30 20:12:09 +0200
committerLudovic Courtès <ludo@gnu.org>2009-08-30 20:12:09 +0200
commit807e5a6641b2aa37ce4198a6c13f1aaebd3a5f25 (patch)
tree34ef7e574f4b2027e3971406e368e25628d475c0 /libguile/evalext.c
parentd6097d1d63a269ce960c47f81902aaaf26d46a64 (diff)
downloadguile-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/evalext.c')
-rw-r--r--libguile/evalext.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libguile/evalext.c b/libguile/evalext.c
index b1f185cc5..78b666f65 100644
--- a/libguile/evalext.c
+++ b/libguile/evalext.c
@@ -83,6 +83,7 @@ SCM_DEFINE (scm_self_evaluating_p, "self-evaluating?", 1, 0, 0,
case scm_tc7_smob:
case scm_tc7_pws:
case scm_tc7_program:
+ case scm_tc7_bytevector:
case scm_tcs_subrs:
case scm_tcs_struct:
return SCM_BOOL_T;