mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 03:40:34 +02:00
Move pair, null, nil, and boolean validators out of validate.h
* libguile/validate.h: * libguile/boolean.h (SCM_VALIDATE_BOOL, SCM_VALIDATE_BOOL_COPY): * libguile/pairs.h (SCM_VALIDATE_NULL, SCM_VALIDATE_NULL_OR_NIL): (SCM_VALIDATE_CONS, SCM_VALIDATE_MUTABLE_PAIR) (SCM_VALIDATE_NULLORCONS): Move these macros.
This commit is contained in:
parent
eb5e1b8d5f
commit
be18b50773
3 changed files with 51 additions and 38 deletions
|
@ -3,7 +3,8 @@
|
|||
#ifndef SCM_BOOLEAN_H
|
||||
#define SCM_BOOLEAN_H
|
||||
|
||||
/* Copyright (C) 1995,1996,2000, 2006, 2008, 2009, 2010, 2013 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1995-1996,2000,2006,2008-2010,2013,2018
|
||||
* Free Software Foundation, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public License
|
||||
|
@ -122,12 +123,30 @@ SCM_API int scm_to_bool (SCM x);
|
|||
#define scm_is_lisp_false(x) \
|
||||
(SCM_MATCHES_BITS_IN_COMMON ((x), SCM_BOOL_F, SCM_EOL))
|
||||
|
||||
|
||||
|
||||
|
||||
SCM_API SCM scm_not (SCM x);
|
||||
SCM_API SCM scm_boolean_p (SCM obj);
|
||||
SCM_API SCM scm_nil_p (SCM obj);
|
||||
|
||||
|
||||
|
||||
|
||||
#define SCM_VALIDATE_BOOL(pos, flag) \
|
||||
do { \
|
||||
SCM_ASSERT_TYPE (scm_is_bool (flag), flag, pos, FUNC_NAME, "boolean"); \
|
||||
} while (0)
|
||||
|
||||
#define SCM_VALIDATE_BOOL_COPY(pos, flag, cvar) \
|
||||
do { \
|
||||
SCM_ASSERT (scm_is_bool (flag), flag, pos, FUNC_NAME); \
|
||||
cvar = scm_to_bool (flag); \
|
||||
} while (0)
|
||||
|
||||
|
||||
|
||||
|
||||
SCM_INTERNAL void scm_init_boolean (void);
|
||||
|
||||
#endif /* SCM_BOOLEAN_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue