emacs-devel
[Top][All Lists]
Advanced

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

Hi, I'm back! + Re: Strange eval-after-load


From: Alan Mackenzie
Subject: Hi, I'm back! + Re: Strange eval-after-load
Date: Sun, 2 Jul 2006 14:33:04 +0100
User-agent: Mutt/1.5.9i

Hi, Richard and Emacs!

<OFF-TOPIC>
In case anybody's wondering what's being happening to me over the last
month (I hope somebody has), my PC died on Thursday 2006-05-25.  My
beloved 166MHz PC is dead.  :-(  I didn't lose any files, though.

I've spent most of the last month bringing a replacement PC up to
operation, installing Debian Gnu/Linux "Sarge".  It's a ghastly
experience.  Getting the basic OS installation is easy enough - even
getting X-Windows working tolerably well can be done within a few hours.

But then the pain starts, particularly with HW and networking software.
Each piece has a sequence of little glitches, each one of which takes 2
to 3 hours to resolve.  The documentation is nearly always nowhere near
the quality of Emacs's, and is not in any particular place - there's the
HOWTOs (most useful), most programs have something in /usr/share/doc,
and sometimes you have to go down to the Linux kernel documentation.
Sometimes its authors fragment it into many files.html, thus making text
searches difficult.

Many, many times I had to interpret messages in /var/log/..., or even
delve into the /proc/.... area of the filesystem.  Getting my printing
working, for example, took me a full working day.

I think this thing is one of the biggest obstacles to the use of free
OSes - Routinely setting up a PC with G/L, except perhaps in a rigid
lowest-common-denominator configuration created by Red-Hat or SuSE, is
beyond the capabilities of all but the most stubborn and dedicated
hackers.  Several times I was asking to myself, half seriously, is
Microsoft Windows XP really _that_ bad?  [A: yes it is.  ;-]

Anyhow, with apologies for such a delayed response to this thread, back
to Emacs....
</OFF-TOPIC>

On Thu, May 25, 2006 at 10:22:57PM -0400, Richard Stallman wrote:
> I was distressed to read that there are 70 calls to eval-after-load in
> the Emacs sources.  That is very bad.  After the release, we should
> eliminate all of these, just as we should eliminate all use of
> defadvice.
 
There are also around 800 gotos.
 
> Starting immediately, please do NOT install calls to eval-after-load
> in Emacs without asking for my specific approval.

I would beg you not to be so dogmatic.  There are valid uses for
eval-after-load, just as there are for goto.  For example, in
cc-defs.el, we have:

    ;; Make edebug understand the macros.
    (eval-after-load "edebug"
      '(progn
           (def-edebug-spec cc-eval-when-compile t)
           (def-edebug-spec c-point t)
           .....
           ))

This seems to be a good thing.  Shouldn't such a lisp form accompany
_every_ defmacro?  Alternatives to this sort of thing would either
inconvenience CC Mode hackers severely, or unnecessarily load Edebug
along with CC Mode.
 
I'm asking you explicitly to permit eval-after-load forms like this, for
some suitable value of "like".

[ .... ]

> However, confusing as these are, they are not as bad as using
> `eval-after-load' in the "usual" way, for another file.  That is bad
> for maintenance just as use of advice is bad for maintenance.

I do not understand this.  I think the use of (eval-after-load "edebug"
...), as above, is helpful for maintenance.

-- 
Alan.





reply via email to

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