[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Strange eval-after-load

From: Eli Zaretskii
Subject: Re: Strange eval-after-load
Date: Wed, 05 Jul 2006 06:20:41 +0300

> Date: Tue, 4 Jul 2006 22:08:05 +0100
> From: Alan Mackenzie <address@hidden>
> Cc: address@hidden
> (eval-after-load "edebug" '(def-edebug-spec c-point t))
> To construe this form as "modifying the behaviour of another Lisp file
> (?edebug, presumably) in an invisible way" seems like a total perversion
> of reality to me.  I would call this e-a-l "Telling another Lisp file
> how to handle the current one" - in essence, the module which is
> modified by this e-a-l is cc-defs, not edebug.

Doesn't "Telling another Lisp file how to handle the current one"
modify the behavior of that other package in a way that isn't visible
if you look at the code of that other package?  In your example above,
Edebug's behavior is modified, but one cannot know that by reading
Edebug's code alone.

Btw, the original text I wrote for this tip was a bit different, it
explicitly said that eval-after-load increases a coupling between the
two packages, which is a maintenance burden:

    Likewise, avoid using @code{eval-after-load} (@pxref{Hooks for
    Loading}) in libraries and packages.  This feature is meant for
    personal customizations; using it in a Lisp package increases the
    coupling between it and the package mentioned in
    @code{eval-after-load}, and thus makes it harder to maintain the two
    packages independently.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]