emacs-devel
[Top][All Lists]
Advanced

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

Re: [CVS] f7, f8 bound..


From: Robert J. Chassell
Subject: Re: [CVS] f7, f8 bound..
Date: Thu, 5 Sep 2002 13:00:28 +0000 (UTC)

Thank you for the explanation.  This helps!

   When you call defkeymap with a default value, the variable is set to
   the default value.  Custom, however, saves only the *additions* ...

This is a wonderful tool, but it is named wrongly.  If I understand
you rightly, its name should be something like:

    custom-add-delete

and its documentation should say something like this (but better):

    `custom-add-delete' saves only changes; it adds or deletes values.
    In contrast to `setq', this is a destructive function, like `set'

Then as an example you might show (where ==> means, `evaluates to'):

    (setq foovar '(a . 1))
    (custom-set-variable b 2)
    foovar     ==> ((a . 1) (b . 2))

    (custom-set-variable b nil)
    foovar     ==> ((a . 1))


You say:

   ... ("the Customize GUI that generates a readable .emacs file
   that people can study, modify, and share, if they wish" -- perhaps
   that translates to "lisp code similar to what i would write by hand").

Yes, that is a way of translating it.  What I am trying to say is that
we should be able to understand the code fairly readily.

   Well, in that case we get into the kinds of problems lots of code
   wizards get into:  We cannot eat the dogfood we write to files.

This is the wrong way to think about computers or software.  After
all, many /etc/ configuration files are created or modified
automatically; but you want to be able to read and edit them, right?

Similarly, Emacs is designed to be easily modifiable, more easily
understood and worked with than most programs.  We should continue
this.

   So discouraging people from manually fiddling with the save-file helps
   us reduce the number of potential bugs.  

On the contrary, we should encourage people to try things out, to
learn.  That is the only way they will become better.

Of course, that takes good design, so that novices do not get
themselves into bad trouble.  Novices need to learn that they can
always start a plain vanilla instance of Emacs; and even more
important, they need to learn how to return to the state their already
modified Emacs was in before they changed it in ways they dislike.

The idea that that `custom-add-delete' should simply add or delete a
customization, is good design.  It means that a novice can focus on
just the change he or she wants to make, and be sure it works.

And again, I want to say that some way to remember history, or tell
people about existing history -- how to return to the state they were
in, before screwing up! -- that is important, too.

-- 
    Robert J. Chassell            address@hidden  address@hidden
    Rattlesnake Enterprises       http://www.rattlesnake.com
    Free Software Foundation      http://www.gnu.org   GnuPG Key ID: 004B4AC8




reply via email to

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