summaryrefslogtreecommitdiff
path: root/libguile/smob.h
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2011-02-13 14:50:05 +0100
committerLudovic Courtès <ludo@gnu.org>2011-02-13 14:50:05 +0100
commitbe90d0b6f9e79bc882b2289bf0a5ea1b3c082b3c (patch)
tree949a3caa5a82ea2dc9d37cdee6211d8ac2632a0c /libguile/smob.h
parent10b9343f04ce8ed245b8d4316805909d2821d5b1 (diff)
downloadguile-be90d0b6f9e79bc882b2289bf0a5ea1b3c082b3c.tar.gz
Add `scm_t_subr' typedef (fix bug #23681).
* libguile/__scm.h (scm_t_subr): New typedef. * libguile/deprecated.h (scm_make_gsubr, scm_make_gsubr_with_generic, scm_call_catching_errors): Use it. * libguile/gsubr.h (scm_c_make_gsubr, scm_c_define_gsubr, scm_c_define_gsubr_with_generic): Likewise. * libguile/smob.h (scm_smob_descriptor)[apply]: Likewise. (scm_set_smob_apply): Likewise. * libguile/snarf.h (SCM_FUNC_CAST_ARBITRARY_ARGS): Likewise.
Diffstat (limited to 'libguile/smob.h')
-rw-r--r--libguile/smob.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/libguile/smob.h b/libguile/smob.h
index 07deebd27..6a7ceeae6 100644
--- a/libguile/smob.h
+++ b/libguile/smob.h
@@ -3,7 +3,8 @@
#ifndef SCM_SMOB_H
#define SCM_SMOB_H
-/* Copyright (C) 1995,1996,1998,1999,2000,2001, 2004, 2006, 2009, 2010 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1998, 1999, 2000, 2001, 2004, 2006, 2009,
+ * 2010, 2011 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
@@ -40,7 +41,7 @@ typedef struct scm_smob_descriptor
size_t (*free) (SCM);
int (*print) (SCM exp, SCM port, scm_print_state *pstate);
SCM (*equalp) (SCM, SCM);
- SCM (*apply) ();
+ scm_t_subr apply;
SCM apply_trampoline_objcode;
} scm_smob_descriptor;
@@ -202,7 +203,7 @@ SCM_API void scm_set_smob_print (scm_t_bits tc,
int (*print) (SCM, SCM, scm_print_state*));
SCM_API void scm_set_smob_equalp (scm_t_bits tc, SCM (*equalp) (SCM, SCM));
SCM_API void scm_set_smob_apply (scm_t_bits tc,
- SCM (*apply) (),
+ scm_t_subr apply,
unsigned int req,
unsigned int opt,
unsigned int rst);