guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Patch: Some work towards making --disable-deprecated compile


From: Daniel Kraft
Subject: Patch: Some work towards making --disable-deprecated compile
Date: Sat, 28 Mar 2009 13:06:34 +0100
User-agent: Thunderbird 2.0.0.0 (X11/20070425)

Hi,

here's my patch from last december to fix some internal inconsistencies that prevented guile from compiling with --disable-deprecated at that time. I've now my copyright assignment in place, so when it is ok you could commit it at any time. The patch is updated to the current revision.

Now however there were some places where scm_sizet and SCM_LISTX occurred (I guess after the vm merge) that seem to be deprecated, so for a full build with --disable-deprecated I had to replace those by size_t and scm_cons[2] & friends (I hope this is ok so). For this I've got a seperate patch (but we could merge those, depending on your opinion).

Even then it does not build correct, but that seems to be a problem with the manual; I will try to investigate here, too.

Yours,
Daniel
2009-03-28  Daniel Kraft  <address@hidden>

        * configure.in (enable_deprecated): Set SCM_WARN_DEPRECATED_DEFAULT
        even when --disable-deprecated is passed.
        * libguile/deprecation.h: Declare deprecation-issuing methods even
        if SCM_ENABLE_DEPRECATED is not set.
        * libguile/deprecation.c: Ditto.
        (scm_init_deprecation): Include full body even for unset
        SCM_ENABLE_DEPRECATED.
>From 7d4386f6ba0d8c4a33aa8c22b189c3efa4b57266 Mon Sep 17 00:00:00 2001
From: daniel <address@hidden>
Date: Fri, 13 Feb 2009 14:27:41 +0100
Subject: [PATCH] Make --disable-deprected work

---
 configure.in           |    5 +++--
 libguile/deprecation.c |    6 ------
 libguile/deprecation.h |   11 +++--------
 3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/configure.in b/configure.in
index a7fd9c9..385f4d9 100644
--- a/configure.in
+++ b/configure.in
@@ -159,6 +159,7 @@ AC_ARG_ENABLE([deprecated],
 
 if test "$enable_deprecated" = no; then
   SCM_I_GSC_ENABLE_DEPRECATED=0
+  warn_default=no
 else
   if test "$enable_deprecated" = yes || test "$enable_deprecated" = ""; then
     warn_default=summary
@@ -168,9 +169,9 @@ else
     warn_default=$enable_deprecated
   fi
   SCM_I_GSC_ENABLE_DEPRECATED=1
-  AC_DEFINE_UNQUOTED(SCM_WARN_DEPRECATED_DEFAULT, "$warn_default",
-  [Define this to control the default warning level for deprecated features.])
 fi
+AC_DEFINE_UNQUOTED(SCM_WARN_DEPRECATED_DEFAULT, "$warn_default",
+[Define this to control the default warning level for deprecated features.])
 
 AC_ARG_ENABLE(elisp,
   [  --disable-elisp         omit Emacs Lisp support],,
diff --git a/libguile/deprecation.c b/libguile/deprecation.c
index 338c47c..780e246 100644
--- a/libguile/deprecation.c
+++ b/libguile/deprecation.c
@@ -41,8 +41,6 @@
 
 
 
-#if (SCM_ENABLE_DEPRECATED == 1)
-
 struct issued_warning {
   struct issued_warning *prev;
   const char *message;
@@ -138,8 +136,6 @@ print_deprecation_summary (void)
     }
 }
 
-#endif /* SCM_ENABLE_DEPRECATED == 1 */
-
 SCM_DEFINE(scm_include_deprecated_features,
           "include-deprecated-features", 0, 0, 0,
           (),
@@ -157,7 +153,6 @@ SCM_DEFINE(scm_include_deprecated_features,
 void
 scm_init_deprecation ()
 {
-#if (SCM_ENABLE_DEPRECATED == 1)
   const char *level = getenv ("GUILE_WARN_DEPRECATED");
   if (level == NULL)
     level = SCM_WARN_DEPRECATED_DEFAULT;
@@ -170,7 +165,6 @@ scm_init_deprecation ()
       SCM_WARN_DEPRECATED = 0;
       atexit (print_deprecation_summary);
     }
-#endif
 #include "libguile/deprecation.x"
 }
 
diff --git a/libguile/deprecation.h b/libguile/deprecation.h
index 7885327..05928b7 100644
--- a/libguile/deprecation.h
+++ b/libguile/deprecation.h
@@ -26,20 +26,15 @@
 
 
 
-#if (SCM_ENABLE_DEPRECATED == 1)
-
-/* These functions are _not_ deprecated, but we exclude them along
-   with the really deprecated features to be sure that no-one is
-   trying to emit deprecation warnings when libguile is supposed to be
-   clean of them.
+/* These functions are a possibly useful part of the API and not only used
+   internally, thus they are exported always, not depending on
+   SCM_ENABLE_DEPRECATED.
 */
 
 SCM_API void scm_c_issue_deprecation_warning (const char *msg);
 SCM_API void scm_c_issue_deprecation_warning_fmt (const char *msg, ...);
 SCM_API SCM scm_issue_deprecation_warning (SCM msgs);
 
-#endif
-
 SCM_API SCM scm_include_deprecated_features (void);
 SCM_INTERNAL void scm_init_deprecation (void);
 
-- 
1.5.6.4


reply via email to

[Prev in Thread] Current Thread [Next in Thread]