|
From: | Daniel Kraft |
Subject: | Issuing deprecation warnings |
Date: | Sun, 28 Dec 2008 10:31:49 +0100 |
User-agent: | Thunderbird 2.0.0.0 (X11/20070425) |
Hi,I've just tried to build latest-git guile with --disable-deprecated (full configure was --enable-maintainer-mode --disable-nls --disable-deprecated), and it refuses to compile because (at least) in libguile/gc-mark.c a deprecation warning is issued without checking if deprecation is enabled.
As I understand it, the call there warns if scm_gc_mark is called but not from the internal GC handling. As this is "no feature" that could be excluded (except making scm_gc_mark invisible for --disable-deprecated or something like that), I don't see a way to fix this there other than just removing the warning in case of --disable-deprecated.
However, I also get the idea that scm_c_issue_deprecation_warning and friends are not considered "private internal functions" but instead part of the Guile API (are they?). In this case, I don't think removing them with --disable-deprecated is appropriate, as user code might try to use them to signal deprecation of some user's extension procedures. On the other hand, libguile/deprecation.h has a comment that explicitly states those functions *should* be excluded with --disable-deprecated (the explanation makes sense to me, but I still think the argument above is valid).
Thus here my question: What's the opinion on the matter? I'd like to provide a simple patch for this issue (it is trivial, but hey :)), but want to know which way to go for it. As stated above, my feeling would be to not remove the warning-issuing-methods on --disable-deprected.
Thanks, Daniel
[Prev in Thread] | Current Thread | [Next in Thread] |