On Mon, Feb 27, 2012 at 9:44 PM, Juanma Barranquero <lekktu@gmail.com> wrote:
On Mon, Feb 27, 2012 at 14:32, Le Wang <l26wang@gmail.com> wrote:

> So what?  You have broken code.  Bad things happened, and Emacs is in a bad
> state either way.

No, sorry. One package failing to load does not necessarily leave
"Emacs in a bad state", at least not in theory. That's why
ignore-errors, condition-case and (require x nil t) exist, for
example.

So predictable exceptions are handled by those functions already.  But now things are just borked.
 
Your way makes a bit more difficult to detect the problem, and a bit
more likely that it will be missed and subsequent requires fail
without warning.
 
This is a valid point. 

But, hey, it's your code, put it whenever you think it's right.

Sure.  I'm just trying to clarify what the idiomatic way to use it is.  Maybe a summary of this discussion should be in the manual?
 
> This function announces that feature is now loaded, or being loaded, into the current Emacs session.
>
> NOTE: "or being loaded"

Right. And using your method, you can have a feature that does not
mean that the code is loaded or being loaded.

    Juanma



--
Le