degenerate let forms
[bpt/guile.git] / libguile / keywords.h
index bfffe59..3cdb0ec 100644 (file)
@@ -36,8 +36,22 @@ SCM_API SCM scm_symbol_to_keyword (SCM symbol);
 SCM_API SCM scm_keyword_to_symbol (SCM keyword);
 
 SCM_API int scm_is_keyword (SCM val);
-SCM_API SCM scm_from_locale_keyword (const char *str);
-SCM_API SCM scm_from_locale_keywordn (const char *str, size_t len);
+SCM_API SCM scm_from_locale_keyword (const char *name);
+SCM_API SCM scm_from_locale_keywordn (const char *name, size_t len);
+SCM_API SCM scm_from_latin1_keyword (const char *name);
+SCM_API SCM scm_from_utf8_keyword (const char *name);
+
+enum scm_keyword_arguments_flags
+{
+  SCM_ALLOW_OTHER_KEYS            = (1U << 0),
+  SCM_ALLOW_NON_KEYWORD_ARGUMENTS = (1U << 1)
+};
+
+typedef enum scm_keyword_arguments_flags scm_t_keyword_arguments_flags;
+
+SCM_API void
+scm_c_bind_keyword_arguments (const char *subr, SCM rest,
+                              scm_t_keyword_arguments_flags flags, ...);
 
 SCM_INTERNAL void scm_init_keywords (void);