I came across a problem with require and provide that seems rather
counterintuitive, although it is implicit in the documentaiton. If one
file provides a feature with (provide 'feature) and another requires
it, there is no guarantee that that specific file is loaded, even if no
other file calls (provide 'feature). I ran into this whil splitting up
my personal configuration - I was attempting to mirror the packages I
was loading, so for example org.el in my directory would contain
customizations for org-mode. However, in this file, a (require 'org)
would cause an infinite require error, as it tried to load itself
instead of the org.el in emacs. Should this behaviour be changed, or
is there a reason for it?