GNU Emacs Lisp Reference Manual
You can ask for code to be executed if and when a particular library is loaded, by calling eval-after-load.
The library name library must exactly match the argument of load. To get the proper results when an installed library is found by searching load-path, you should not include any directory names in library.
An error in form does not undo the load, but does prevent execution of the rest of form.
In general, well-designed Lisp programs should not use this feature. The clean and modular ways to interact with a Lisp library are (1) examine and set the library's variables (those which are meant for outside use), and (2) call the library's functions. If you wish to do (1), you can do it immediately---there is no need to wait for when the library is loaded. To do (2), you must load the library (preferably with require).
But it is ok to use eval-after-load in your personal customizations if you don't feel they must meet the design standards of programs to be released.
(filename forms...)
The function load checks after-load-alist in order to implement eval-after-load.