Eric Blake wrote:
> > m4_define([m4_defun_once], [dnl
> > m4_defun([_$0_$1], [$2])dnl
> > m4_defun([$1], [m4_require([_$0_$1])])
>
> I like this idea. ... I don't think we need
> AC_DEFUN_IDEMPOTENT; rather, we just make AC_DEFUN_ONCE the single macro
> that is the user's way to declare that a macro body is only needed once.
I find this m4_defun_once interesting too: it incorporates the workaround
that we previously used in gnulib.
But before you jump to the conclusion that AC_DEFUN_IDEMPOTENT is not
needed any more, can you please tell:
- Can a macro defined with AC_DEFUN_ONCE be both required and invoked?
- Is a warning issued when an AC_DEFUN_ONCEd macro is expanded twice?
- Is a warning issued when an AC_DEFUN_ONCEd macro is being required
after having already been expanded?
Bruno