aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorDmitry Antipov2014-05-19 11:49:09 +0400
committerDmitry Antipov2014-05-19 11:49:09 +0400
commit2bcf0551dff645b8c691290adf58dc890b79e745 (patch)
tree3962d715c1f4d8e83e6d874cb7936b01e573a3b9 /src/alloc.c
parent60fc70a8e0bf25d7388fb4c2e31d912c203f561d (diff)
downloademacs-2bcf0551dff645b8c691290adf58dc890b79e745.tar.gz
emacs-2bcf0551dff645b8c691290adf58dc890b79e745.zip
* src/lisp.h (CHECK_BOOLEAN): New function.
* src/alloc.c (Fbool_vector): New function. (syms_of_alloc): Defsubr it. * src/data.c (Qbooleanp): New symbol. (syms_of_data): DEFSYM it. * src/dbusbind.c (xd_signature): Use CHECK_BOOLEAN. * doc/lispref/sequences.texi (Bool-vectors): Mention bool-vector.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 7159d1fa747..e808c3d4bf3 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2174,6 +2174,25 @@ LENGTH must be a number. INIT matters only in whether it is t or nil. */)
2174 return bool_vector_fill (val, init); 2174 return bool_vector_fill (val, init);
2175} 2175}
2176 2176
2177DEFUN ("bool-vector", Fbool_vector, Sbool_vector, 0, MANY, 0,
2178 doc: /* Return a new bool-vector with specified arguments as elements.
2179Any number of arguments, even zero arguments, are allowed.
2180Each argument should be either t or nil.
2181usage: (bool-vector &rest OBJECTS) */)
2182 (ptrdiff_t nargs, Lisp_Object *args)
2183{
2184 ptrdiff_t i;
2185 Lisp_Object vector;
2186
2187 for (i = 0; i < nargs; i++)
2188 CHECK_BOOLEAN (args[i]);
2189
2190 vector = make_uninit_bool_vector (nargs);
2191 for (i = 0; i < nargs; i++)
2192 bool_vector_set (vector, i, !NILP (args[i]));
2193
2194 return vector;
2195}
2177 2196
2178/* Make a string from NBYTES bytes at CONTENTS, and compute the number 2197/* Make a string from NBYTES bytes at CONTENTS, and compute the number
2179 of characters from the contents. This string may be unibyte or 2198 of characters from the contents. This string may be unibyte or
@@ -7102,6 +7121,7 @@ The time is in seconds as a floating point value. */);
7102 defsubr (&Scons); 7121 defsubr (&Scons);
7103 defsubr (&Slist); 7122 defsubr (&Slist);
7104 defsubr (&Svector); 7123 defsubr (&Svector);
7124 defsubr (&Sbool_vector);
7105 defsubr (&Smake_byte_code); 7125 defsubr (&Smake_byte_code);
7106 defsubr (&Smake_list); 7126 defsubr (&Smake_list);
7107 defsubr (&Smake_vector); 7127 defsubr (&Smake_vector);