GNU bug report logs - #18495
[PATCH] Fix SCM_SMOB_OBJECT_LOC

Previous Next

Package: guile;

Reported by: David Kastrup <dak <at> gnu.org>

Date: Thu, 18 Sep 2014 07:34:02 UTC

Severity: normal

Tags: patch

Done: Mark H Weaver <mhw <at> netris.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 18495 in the body.
You can then email your comments to 18495 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#18495; Package guile. (Thu, 18 Sep 2014 07:34:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Kastrup <dak <at> gnu.org>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Thu, 18 Sep 2014 07:34:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: David Kastrup <dak <at> gnu.org>
To: bug-guile <at> gnu.org
Cc: David Kastrup <dak <at> gnu.org>
Subject: [PATCH] Fix SCM_SMOB_OBJECT_LOC
Date: Thu, 18 Sep 2014 09:32:35 +0200
* libguile/smob.h (SCM_SMOB_OBJECT_LOC): This elementary API macro has
  been broken by commit 56164dc47f6616b359f0ad23be208f01a77b55fa in 2009

Signed-off-by: David Kastrup <dak <at> gnu.org>
---
 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





Information forwarded to bug-guile <at> gnu.org:
bug#18495; Package guile. (Thu, 18 Sep 2014 07:40:02 GMT) Full text and rfc822 format available.

Message #8 received at 18495 <at> debbugs.gnu.org (full text, mbox):

From: David Kastrup <dak <at> gnu.org>
To: 18495 <at> debbugs.gnu.org
Subject: Alternatives?
Date: Thu, 18 Sep 2014 09:39:42 +0200
Any suggestions what non-deprecated alternative should be used instead
of SCM_SMOB_OBJECT_LOC in the year that it will take until this fix is
generally available?

-- 
David Kastrup




Information forwarded to bug-guile <at> gnu.org:
bug#18495; Package guile. (Thu, 18 Sep 2014 08:42:02 GMT) Full text and rfc822 format available.

Message #11 received at 18495 <at> debbugs.gnu.org (full text, mbox):

From: David Kastrup <dak <at> gnu.org>
To: 18495 <at> debbugs.gnu.org
Cc: David Kastrup <dak <at> gnu.org>
Subject: [PATCH] Fix SCM_SMOB_OBJECT{_,_0_,_1_,_2_,_3_}LOC
Date: Thu, 18 Sep 2014 10:40:55 +0200
* 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

Signed-off-by: David Kastrup <dak <at> gnu.org>
---
 libguile/smob.h | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/libguile/smob.h b/libguile/smob.h
index 60abe37..f910a24 100644
--- a/libguile/smob.h
+++ b/libguile/smob.h
@@ -156,14 +156,14 @@ scm_new_double_smob (scm_t_bits tc, scm_t_bits data1,
 #define SCM_SET_SMOB_OBJECT_1(x,obj)	(SCM_SET_SMOB_OBJECT_N ((x), 1, (obj)))
 #define SCM_SET_SMOB_OBJECT_2(x,obj)	(SCM_SET_SMOB_OBJECT_N ((x), 2, (obj)))
 #define SCM_SET_SMOB_OBJECT_3(x,obj)	(SCM_SET_SMOB_OBJECT_N ((x), 3, (obj)))
-#define SCM_SMOB_OBJECT_0_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 0)))
-#define SCM_SMOB_OBJECT_1_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 1)))
-#define SCM_SMOB_OBJECT_2_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 2)))
-#define SCM_SMOB_OBJECT_3_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 3)))
+#define SCM_SMOB_OBJECT_0_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 0))
+#define SCM_SMOB_OBJECT_1_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 1))
+#define SCM_SMOB_OBJECT_2_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 2))
+#define SCM_SMOB_OBJECT_3_LOC(x)	(SCM_SMOB_OBJECT_N_LOC ((x), 3))
 
 #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





Information forwarded to bug-guile <at> gnu.org:
bug#18495; Package guile. (Thu, 18 Sep 2014 08:51:02 GMT) Full text and rfc822 format available.

Message #14 received at 18495 <at> debbugs.gnu.org (full text, mbox):

From: David Kastrup <dak <at> gnu.org>
To: 18495 <at> debbugs.gnu.org
Subject: Alternatives!?!
Date: Thu, 18 Sep 2014 10:50:21 +0200
Well, since the obvious fallback of using SCM_SMOB_OBJECT_1_LOC is
barred since _all_ of SCM_SMOB_OBJECT_LOC, SCM_SMOB_OBJECT_0_LOC,
SCM_SMOB_OBJECT_1_LOC, SCM_SMOB_OBJECT_2_LOC, SCM_SMOB_OBJECT_3_LOC are
broken, will there be something like an official guarantee that using
the undocumented SCM_SMOB_OBJECT_N_LOC will be supported for several
years?  Or is one supposed to use the undocumented SCM_CELL_OBJECT_LOC
instead?

I don't see any _documented_ accessor to SMOB cell locations that would
not be broken in the current source.

This is sort of important.

-- 
David Kastrup




Reply sent to Mark H Weaver <mhw <at> netris.org>:
You have taken responsibility. (Sat, 20 Sep 2014 12:45:02 GMT) Full text and rfc822 format available.

Notification sent to David Kastrup <dak <at> gnu.org>:
bug acknowledged by developer. (Sat, 20 Sep 2014 12:45:04 GMT) Full text and rfc822 format available.

Message #19 received at 18495-done <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: David Kastrup <dak <at> gnu.org>
Cc: wingo <at> pobox.com, 18495-done <at> debbugs.gnu.org
Subject: Re: bug#18495: Alternatives!?!
Date: Sat, 20 Sep 2014 08:42:49 -0400
David Kastrup <dak <at> gnu.org> 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




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 19 Oct 2014 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 9 years and 163 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.