1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-16 00:30:21 +02:00

Shuffle around inline C function implementation

* libguile/__scm.h:
* libguile/inline.h (SCM_C_EXTERN_INLINE, SCM_CAN_INLINE, SCM_INLINE)
  (SCM_INLINE_IMPLEMENTATION): Move definitions here, from __scm.h.
* libguile/strings.h (scm_is_string): Move implementation here, from
  inline.h.
* libguile/inline.c: Add strings.h include.
* libguile/_scm.h: Remove inline.h include.
* libguile/array-handle.h:
* libguile/gc.h:
* libguile/pairs.h:
* libguile/smob.h: Add inline.h includes.
This commit is contained in:
Andy Wingo 2018-06-20 11:17:13 +02:00
parent 3c48c87784
commit d340a9709c
9 changed files with 71 additions and 74 deletions

View file

@ -26,6 +26,7 @@
#include "libguile/__scm.h"
#include <libguile/error.h>
#include "libguile/inline.h"
#include <libguile/snarf.h>
@ -106,6 +107,7 @@ SCM_INTERNAL SCM scm_nullstr;
SCM_INTERNAL scm_t_string_failed_conversion_handler
scm_i_default_string_failed_conversion_handler (void);
SCM_INLINE int scm_is_string (SCM x);
SCM_API SCM scm_string_p (SCM x);
SCM_API SCM scm_string (SCM chrs);
SCM_API SCM scm_make_string (SCM k, SCM chr);
@ -282,6 +284,20 @@ SCM_API SCM scm_sys_stringbuf_hist (void);
#endif
#if SCM_CAN_INLINE || defined SCM_INLINE_C_IMPLEMENTING_INLINES
/* Either inlining, or being included from inline.c. */
SCM_INLINE_IMPLEMENTATION int
scm_is_string (SCM x)
{
return SCM_HAS_TYP7 (x, scm_tc7_string);
}
#endif
#define SCM_VALIDATE_STRING(pos, str) \