Subject: bug#18495: closed (Re: bug#18495: Alternatives!?!)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 20 Sep 2014 12:45:04 +0000

Your bug report

#18495: [PATCH] Fix SCM_SMOB_OBJECT_LOC

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
18495: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18495
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#18495: Alternatives!?!
From: Mark H Weaver <[email-masked]>
To: David Kastrup <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Sat, 20 Sep 2014 08:42:49 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

David Kastrup <[email-masked]> writes:

> * libguile/smob.h (SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_0_LOC)
>   (SCM_SMOB_OBJECT_1_LOC, SCM_SMOB_OBJECT_2_LOC)
>   (SCM_SMOB_OBJECT_3_LOC):  These elementary API macros have been broken
>   by commit 56164dc47f6616b359f0ad23be208f01a77b55fa in 2009

Ouch.  I've pushed this to stable-2.0, commit
8442211ef0029581b35f784489afcf210491fc41.  I'm closing this bug.

> will there be something like an official guarantee that using
> the undocumented SCM_SMOB_OBJECT_N_LOC will be supported for several
> years?

I think that's the best option.  Just use SCM_SMOB_OBJECT_N_LOC.

     Mark

Subject: [PATCH] Fix SCM_SMOB_OBJECT_LOC
From: David Kastrup <[email-masked]>
To: [email-masked]
Cc: David Kastrup <[email-masked]>
Date: Thu, 18 Sep 2014 09:32:35 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

* libguile/smob.h (SCM_SMOB_OBJECT_LOC): This elementary API macro has
  been broken by commit 56164dc47f6616b359f0ad23be208f01a77b55fa in 2009

Signed-off-by: David Kastrup <[email-masked]>
---
 libguile/smob.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libguile/smob.h b/libguile/smob.h
index 60abe37..e787cb1 100644
--- a/libguile/smob.h
+++ b/libguile/smob.h
@@ -163,7 +163,7 @@ scm_new_double_smob (scm_t_bits tc, scm_t_bits data1,
 
 #define SCM_SMOB_OBJECT(x)		(SCM_SMOB_OBJECT_1 (x))
 #define SCM_SET_SMOB_OBJECT(x,obj)	(SCM_SET_SMOB_OBJECT_1 ((x), (obj)))
-#define SCM_SMOB_OBJECT_LOC(x)		(SCM_SMOB_OBJECT_1_LOC (x)))
+#define SCM_SMOB_OBJECT_LOC(x)		(SCM_SMOB_OBJECT_1_LOC (x))

 #define SCM_SMOB_APPLY_0(x)		(scm_call_0 (x))
-- 
1.9.1