summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurray Cumming <murrayc@murrayc.com>2006-05-16 19:42:36 +0000
committerMurray Cumming <murrayc@src.gnome.org>2006-05-16 19:42:36 +0000
commit445cb96bb82c1a42d64d1d449eedf43e253a7d13 (patch)
treecf5368f4dec729b8245b459df721c99d9d46b127
parentd585c900fb9edcd2e4c0f0e197c7e3b6485839fd (diff)
downloadglibmm-445cb96bb82c1a42d64d1d449eedf43e253a7d13.tar.gz
_CONVERT(): If the return type is void, use the unconverted statement, not
2006-05-16 Murray Cumming <murrayc@murrayc.com> * tools/m4/convert_base.m4: _CONVERT(): If the return type is void, use the unconverted statement, not no statement. This prevents some void methods from being totally empty. This was a (very bad) regression introduced by the optional API changed. Bug #341895 from Philip Langdale. * tools/m4/method.m4: _METHOD(), _STATIC_METHOD(): Attempt to remove unnecessary newlines, though some indenting spaces slipped in instead. Must fix that.
-rw-r--r--ChangeLog9
-rw-r--r--tools/m4/convert_base.m42
-rw-r--r--tools/m4/method.m416
3 files changed, 20 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index e329ff05..3772f249 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-05-16 Murray Cumming <murrayc@murrayc.com>
+
+ * tools/m4/convert_base.m4: _CONVERT(): If the return type is void, use the unconverted
+ statement, not no statement. This prevents some void methods from being totally empty.
+ This was a (very bad) regression introduced by the optional API changed.
+ Bug #341895 from Philip Langdale.
+ * tools/m4/method.m4: _METHOD(), _STATIC_METHOD(): Attempt to remove unnecessary newlines,
+ though some indenting spaces slipped in instead. Must fix that.
+
2006-05-14 Murray Cumming <murrayc@murrayc.com>
* glib/glibmm/value.cc:
diff --git a/tools/m4/convert_base.m4 b/tools/m4/convert_base.m4
index 51d1f41b..e8e0df60 100644
--- a/tools/m4/convert_base.m4
+++ b/tools/m4/convert_base.m4
@@ -17,7 +17,7 @@ define(`CF__EQ',`$3')
# _CONVERT(fromtype, totype, name, wrap_line)
# Print the conversion from ctype to cpptype
define(`_CONVERT',`dnl
-m4_ifelse(`$2',void,,`dnl
+m4_ifelse(`$2',void,`$3',`dnl
pushdef(`__COV',`CF`'__HASH2(`$1',`$2')')dnl
m4_ifdef(__COV,`m4_indir(__COV,`$1',`$2',`$3')',`
m4_errprint(`No conversion from $1 to $2 defined (line: $4, parameter name: $3)
diff --git a/tools/m4/method.m4 b/tools/m4/method.m4
index 4193e04b..51fb97c1 100644
--- a/tools/m4/method.m4
+++ b/tools/m4/method.m4
@@ -13,13 +13,15 @@ dnl $1 $2 $3 $4 $5 $6 $7 $8 $9 $1
dnl _METHOD(cppname,cname,cpprettype,crettype,arglist,cargs,const,refreturn,errthrow,deprecated,constversion,arglist_without_types)
define(`_METHOD',`dnl
_PUSH(SECTION_CC)
-ifelse(`$10',,,`_DEPRECATE_IFDEF_START')
-ifelse(`$9',,,`#ifdef GLIBMM_EXCEPTIONS_ENABLED')
+ifelse(`$10',,,`_DEPRECATE_IFDEF_START
+') dnl
+ifelse(`$9',,,`#ifdef GLIBMM_EXCEPTIONS_ENABLED'
+) dnl
$3 __CPPNAME__::$1`'($5)ifelse(`$7',1,` const')
ifelse(`$9',,,`#else
$3 __CPPNAME__::$1`'(`'$5`'ifelse(($5),(),`',`, ')std::auto_ptr<Glib::Error>& error)ifelse(`$7',1,` const')
#endif //GLIBMM_EXCEPTIONS_ENABLED
-')
+') dnl
{
ifelse(`$11',,dnl
` ifelse(`$8'`$9',,dnl If it is not errthrow or refreturn
@@ -56,13 +58,15 @@ dnl $1 $2 $3 $4 $5 $6 $7 $
dnl _STATIC_METHOD(cppname,cname,cpprettype,crettype,arglist,cargs,refreturn,errthrow,deprecated))
define(`_STATIC_METHOD',`dnl
_PUSH(SECTION_CC)
-ifelse(`$9',,,`_DEPRECATE_IFDEF_START') dnl
-ifelse(`$8',,,`#ifdef GLIBMM_EXCEPTIONS_ENABLED')
+ifelse(`$9',,,`_DEPRECATE_IFDEF_START
+') dnl
+ifelse(`$8',,,`#ifdef GLIBMM_EXCEPTIONS_ENABLED
+') dnl
$3 __CPPNAME__::$1($5)
ifelse(`$8',,,`#else
$3 __CPPNAME__::$1(`'$5`'ifelse(($5),(),`',`, ')std::auto_ptr<Glib::Error>& error)
#endif //GLIBMM_EXCEPTIONS_ENABLED
-')
+') dnl
{
ifelse(`$7'`$8',,dnl
` ifelse(`$3',void,,`return ')_CONVERT($4,$3,`$2`'($6)');