Subject: bug#3756: eval-after-load 'ffap vs provide at start of file

From: Kevin Ryde <[email-masked]>
Date: Wed, 08 Jul 2009 08:02:50 +1000

Glenn Morris <[email-masked]> writes:
>
> http://lists.gnu.org/archive/html/emacs-devel/2009-06/msg00202.html

I didn't see that.  Doing provide when a feature is not yet ready for
use would seem fairly dubious though, in normal circumstances.

> I'll mention something about this in the doc of eval-after-load.

provide could cross-reference eval-after-load, if that helped remind to
take care with what point it's called, perhaps per below.

*** loading.texi	17 Mar 2009 10:34:05 +1100	1.10
--- loading.texi	08 Jul 2009 07:40:12 +1000	
***************
*** 733,742 ****
  associated with @var{feature} are or will be available for other Lisp
  programs.
  
! The direct effect of calling @code{provide} is to add @var{feature} to
! the front of the list @code{features} if it is not already in the list.
! The argument @var{feature} must be a symbol.  @code{provide} returns
! @var{feature}.
  
  If provided, @var{subfeatures} should be a list of symbols indicating
  a set of specific subfeatures provided by this version of
--- 733,743 ----
  associated with @var{feature} are or will be available for other Lisp
  programs.
  
! The direct effect of calling @code{provide} is if not already in
! @var{features} then to add @var{feature} to the front of that list and
! call any @code{eval-after-load} code waiting for it (@pxref{Hooks for
! Loading}).  The argument @var{feature} must be a symbol.
! @code{provide} returns @var{feature}.
  
  If provided, @var{subfeatures} should be a list of symbols indicating
  a set of specific subfeatures provided by this version of