summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libguile/procprop.c7
-rw-r--r--test-suite/tests/procprop.test10
2 files changed, 12 insertions, 5 deletions
diff --git a/libguile/procprop.c b/libguile/procprop.c
index 8e2cd6a5f..428d63f91 100644
--- a/libguile/procprop.c
+++ b/libguile/procprop.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995,1996,1998,2000,2001,2003,2004, 2006, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
- *
+/* Copyright (C) 1995, 1996, 1998, 2000, 2001, 2003, 2004, 2006,
+ * 2008, 2009, 2010, 2011, 2012 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
* as published by the Free Software Foundation; either version 3 of
@@ -175,7 +176,7 @@ SCM_DEFINE (scm_set_procedure_properties_x, "set-procedure-properties!", 2, 0, 0
SCM_VALIDATE_PROC (1, proc);
#if (SCM_ENABLE_DEPRECATED == 1)
- if (scm_assq (alist, scm_sym_arity))
+ if (scm_is_true (scm_assq (scm_sym_arity, alist)))
SCM_MISC_ERROR ("arity is a read-only property", SCM_EOL);
#endif
diff --git a/test-suite/tests/procprop.test b/test-suite/tests/procprop.test
index 25dd4c293..ceb6e562b 100644
--- a/test-suite/tests/procprop.test
+++ b/test-suite/tests/procprop.test
@@ -1,7 +1,7 @@
;;;; procprop.test --- Procedure properties -*- mode: scheme; coding: utf-8; -*-
;;;; Ludovic Courtès <ludo@gnu.org>
;;;;
-;;;; Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
+;;;; Copyright (C) 2009, 2010, 2011, 2012 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
@@ -72,4 +72,10 @@
(pass-if "opt, eval"
(equal? (procedure-minimum-arity (eval '(lambda* (a b #:optional c) #t)
(current-module)))
- '(2 1 #f))))
+ '(2 1 #f)))
+
+ (if (include-deprecated-features)
+ (pass-if-exception "set-procedure-properties! arity"
+ '(misc-error . "arity is a read-only property")
+ (set-procedure-properties! (lambda x x) '((arity . 3))))
+ #t))