-/* Copyright (C) 1995,1996 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1996, 2000 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307 USA
*
* As a special exception, the Free Software Foundation gives permission
* for additional uses of the text contained in its release of GUILE.
*
* If you write modifications of your own for GUILE, it is your choice
* whether to permit this exception to apply to your modifications.
- * If you do not wish that, delete this exception notice.
- */
+ * If you do not wish that, delete this exception notice. */
+
+/* Software engineering face-lift by Greg J. Badros, 11-Dec-1999,
+ gjb@cs.washington.edu, http://www.cs.washington.edu/homes/gjb */
+
\f
#include <stdio.h>
/* {Object Properties}
*/
-SCM_PROC(s_object_properties, "object-properties", 1, 0, 0, scm_object_properties);
-
-SCM
-scm_object_properties (obj)
- SCM obj;
+SCM_DEFINE (scm_object_properties, "object-properties", 1, 0, 0,
+ (SCM obj),
+ "@deffnx primitive procedure-properties obj\n"
+ "Return @var{obj}'s property list.")
+#define FUNC_NAME s_scm_object_properties
{
return scm_hashq_ref (scm_object_whash, obj, SCM_EOL);
}
+#undef FUNC_NAME
-SCM_PROC(s_set_object_properties_x, "set-object-properties!", 2, 0, 0, scm_set_object_properties_x);
-
-SCM
-scm_set_object_properties_x (obj, plist)
- SCM obj;
- SCM plist;
+SCM_DEFINE (scm_set_object_properties_x, "set-object-properties!", 2, 0, 0,
+ (SCM obj, SCM plist),
+ "@deffnx primitive set-procedure-properties! obj alist\n"
+ "Set @var{obj}'s property list to @var{alist}.")
+#define FUNC_NAME s_scm_set_object_properties_x
{
SCM handle = scm_hashq_create_handle_x (scm_object_whash, obj, plist);
SCM_SETCDR (handle, plist);
return plist;
}
+#undef FUNC_NAME
-SCM_PROC(s_object_property, "object-property", 2, 0, 0, scm_object_property);
-
-SCM
-scm_object_property (obj, key)
- SCM obj;
- SCM key;
+SCM_DEFINE (scm_object_property, "object-property", 2, 0, 0,
+ (SCM obj, SCM key),
+ "@deffnx primitive procedure-property obj key\n"
+ "Return the property of @var{obj} with name @var{key}.")
+#define FUNC_NAME s_scm_object_property
{
SCM assoc;
- assoc = scm_assq (key, SCM_CDR (scm_object_properties (obj)));
+ assoc = scm_assq (key, scm_object_properties (obj));
return (SCM_NIMP (assoc) ? SCM_CDR (assoc) : SCM_BOOL_F);
}
+#undef FUNC_NAME
-SCM_PROC(s_set_object_property_x, "set-object-property!", 3, 0, 0, scm_set_object_property_x);
-
-SCM
-scm_set_object_property_x (obj, key, val)
- SCM obj;
- SCM key;
- SCM val;
+SCM_DEFINE (scm_set_object_property_x, "set-object-property!", 3, 0, 0,
+ (SCM obj, SCM key, SCM val),
+ "@deffnx primitive set-procedure-property! obj key value\n"
+ "In @var{obj}'s property list, set the property named @var{key} to\n"
+ "@var{value}.")
+#define FUNC_NAME s_scm_set_object_property_x
{
SCM h;
SCM assoc;
h = scm_hashq_create_handle_x (scm_object_whash, obj, SCM_EOL);
SCM_DEFER_INTS;
- assoc = scm_assoc (key, SCM_CDR (h));
+ assoc = scm_assq (key, SCM_CDR (h));
if (SCM_NIMP (assoc))
SCM_SETCDR (assoc, val);
else
SCM_ALLOW_INTS;
return val;
}
+#undef FUNC_NAME
void