all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Christoph Wedler <christoph.wedler@sap.com>, help-gnu-emacs@gnu.org
Subject: RE: In defense of Customize [was: Trying to right-align my window on startup]
Date: Thu, 30 Jan 2014 08:06:20 -0800 (PST)	[thread overview]
Message-ID: <fcfc7571-a9c1-495a-981d-5ff1f96aec67@default> (raw)
In-Reply-To: <6hr38k5rd3n.fsf@sap.com>

I don't disagree with most of what you write, Christoph.

I do disagree that there needs to be a wall separating options
that someone can change in the Customize UI and options that
one cannot.  If someone finds the UI or Lisp to be better to
use in some case, s?he should be able to use either.

IIUC, you propose such a categorization (UI-able (and Lispable)
options vs only-Lispable options) in order to help users deal
with the large number of options.

I think that the problem of an abundance of options should
be handled otherwise, by better organizing/categorizing
(and better design) of options, and by better discovery/exploration/navigation tools.

Wrt organizing/categorizing, currently we have pretty much
only custom groups.  Hierarchies that express some of the
dependencies you pointed out (e.g. mega-options, sub-options)
could help.  Tools to make clean use of those would also
help.

> >>  (cus-set 'indent-tabs-mode t)
> >>  (cus-set 'indent-tabs-mode nil :mode prog-mode)
>
> show me the easy code for setting indent-tabs-mode to t in
> general and to nil in all programming modes.

I'm probably missing your point, but doesn't something like
this do that?

(setq-default indent-tabs-mode t)
(add-hook 'prog-mode-hook
          (lambda () (setq indent-tabs-mode nil)))

I don't disagree that functions such as you describe would
be simpler, more flexible, and probably less error-prone to
use than hooks.  My point was that they make something that
is already pretty easy a bit easier.  It's only a minor point,
however, and I may be missing something in your point.

In general, I think we pretty much agree.  I certainly do not
defend Customize (the UI or the underlying functionality)
against possible _improvements_ of it.

Quite the contrary. I've wanted to see improvement for quite
a while, and have done some fiddling of my own in that regard.
(http://www.emacswiki.org/emacs/CustomizingAndSaving)
Improve it or replace it, yes; ignore it or abandon it, no.

My point in defending Customize is that I feel that people
too often do not take enough advantage of what it does have
to offer.  I've seen some pretty silly ~/.emacs code that
jumps around and through extra hoops in fragile, error-prone
ways, where the user could have just used `customize-option'
or `customize-face' to make their changes in a solid,
uncomplicated way.

And too often, I think, this happens because people are
unfamiliar with the (admittedly clunky) UI, or they think
that `setq' is always enough, or they think that using Lisp
is more fun (which it is) or less clueless, or they don't
know about `custom-file' and they worry about mixing
generated code with hand-coded code.

There are good reasons to use Lisp for many customizations.
It does not follow that there are no reasons to use Customize.

Personally, it took me a long time to start using Customize.
I did everything I needed only in Lisp.  Now I use both.
I am glad to let Customize handle the stuff it is good at.

And I think that others too can often benefit from what
Customize has to offer.  That said, if someone prefers to
customize an option like the one I pointed to, whose
default value is a large alist of key bindings, using only
setq in ~/.emacs, well, that's certainly possible.



  parent reply	other threads:[~2014-01-30 16:06 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <<B67C92F68785104E8816FEEE2B44C9346F33C8FD@TEMCAS01.peinet.peinc.com>
     [not found] ` <<83r48idw6z.fsf@gnu.org>
     [not found]   ` <<B67C92F68785104E8816FEEE2B44C9346F33C978@TEMCAS01.peinet.peinc.com>
     [not found]     ` <<83mwj5ekrs.fsf@gnu.org>
     [not found]       ` <<B67C92F68785104E8816FEEE2B44C9346F33D269@TEMCAS01.peinet.peinc.com>
     [not found]         ` <<28ab7799-fdc5-47c4-9ac0-f7db66771e7e@default>
     [not found]           ` <<83iotsdh9n.fsf@gnu.org>
2014-01-09 21:02             ` Trying to right-align my window on startup Drew Adams
2014-01-11 14:45               ` Juanma Barranquero
2014-01-11 17:35                 ` poor Customize [was: Trying to right-align my window on startup] Drew Adams
     [not found]                 ` <mailman.11630.1389461775.10748.help-gnu-emacs@gnu.org>
2014-01-13 15:11                   ` jack-mac
2014-01-13 17:06                     ` Drew Adams
     [not found]               ` <mailman.11626.1389451551.10748.help-gnu-emacs@gnu.org>
2014-01-14  9:24                 ` Trying to right-align my window on startup Rusi
2014-01-14 17:37                   ` In defense of Customize [was: Trying to right-align my window on startup] Drew Adams
2014-01-14 19:32                     ` session.* files (was: In defense of Customize) gottlieb
2014-01-14 19:52                       ` Peter Dyballa
2014-01-15 10:29                     ` In defense of Customize [was: Trying to right-align my window on startup] Phillip Lord
2014-01-15 17:28                       ` Drew Adams
2014-01-16 10:06                         ` Phillip Lord
2014-01-16 15:33                           ` Drew Adams
2014-01-14 17:53                   ` Trying to right-align my window on startup Emanuel Berg
2014-01-14 17:57                   ` Marcin Borkowski
     [not found]                   ` <mailman.11925.1389722262.10748.help-gnu-emacs@gnu.org>
2014-01-14 18:15                     ` Rusi
2014-01-14 18:19                     ` Emanuel Berg
2014-01-15  4:44                     ` Rusi
     [not found]                   ` <mailman.11921.1389721075.10748.help-gnu-emacs@gnu.org>
2014-01-18  2:59                     ` In defense of Customize [was: Trying to right-align my window on startup] Rusi
2014-01-18  4:42                       ` Emanuel Berg
2014-01-18 15:31                         ` Rusi
2014-01-28 15:17                     ` Christoph Wedler
2014-01-28 18:35                       ` Emanuel Berg
2014-01-29 10:57                         ` Phillip Lord
2014-01-29 13:23                           ` Stefan Monnier
2014-01-29 16:54                             ` Phillip Lord
2014-01-29 18:26                               ` Stefan Monnier
2014-01-30  9:59                                 ` Phillip Lord
     [not found]                         ` <mailman.13090.1390993048.10748.help-gnu-emacs@gnu.org>
2014-01-29 16:52                           ` Emanuel Berg
2014-01-29 17:19                             ` Phillip Lord
     [not found]                             ` <mailman.13107.1391015968.10748.help-gnu-emacs@gnu.org>
2014-01-29 18:21                               ` Emanuel Berg
2014-01-29  0:47                       ` Drew Adams
     [not found]                       ` <mailman.13068.1390956492.10748.help-gnu-emacs@gnu.org>
2014-01-30 10:14                         ` Christoph Wedler
2014-01-30 13:23                           ` Stefan Monnier
2014-01-30 16:06                           ` Drew Adams [this message]
     [not found]                           ` <mailman.13194.1391088219.10748.help-gnu-emacs@gnu.org>
2014-01-30 16:15                             ` Rusi
2014-01-30 18:44                               ` Emanuel Berg
2014-01-31  9:56                                 ` Phillip Lord
     [not found]                                 ` <mailman.13338.1391162177.10748.help-gnu-emacs@gnu.org>
2014-01-31 12:08                                   ` Rusi
2014-01-31 20:41                                     ` Emanuel Berg
2014-01-31 20:39                                   ` Emanuel Berg
     [not found]                           ` <mailman.13229.1391098001.10748.help-gnu-emacs@gnu.org>
2014-01-31  6:54                             ` Rusi
2014-01-31 17:50                             ` Christoph Wedler
2014-01-08 20:11 Trying to right-align my window on startup Mickey Ferguson
2014-01-08 21:01 ` Eli Zaretskii
     [not found]   ` <B67C92F68785104E8816FEEE2B44C9346F33C978@TEMCAS01.peinet.peinc.com>
2014-01-09  6:23     ` Eli Zaretskii
2014-01-09 20:16       ` Mickey Ferguson
2014-01-09 20:30         ` Eli Zaretskii
2014-01-09 20:32         ` Drew Adams
2014-01-09 20:36           ` Eli Zaretskii
2014-01-09 20:41             ` Marcin Borkowski
2014-01-09 21:04               ` Drew Adams
     [not found]             ` <mailman.11466.1389300108.10748.help-gnu-emacs@gnu.org>
2014-01-09 21:43               ` Sebastien Vauban
2014-01-09 22:23                 ` Drew Adams
2014-01-10 22:31           ` Mickey Ferguson
2014-01-10 23:09             ` Drew Adams
2014-01-11  1:17               ` Mickey Ferguson
2014-01-11  3:07                 ` Drew Adams
2014-01-13 23:14                   ` Mickey Ferguson
2014-01-14  4:55                     ` Eli Zaretskii
     [not found]         ` <<83k3e8dhj9.fsf@gnu.org>
2014-01-09 21:02           ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fcfc7571-a9c1-495a-981d-5ff1f96aec67@default \
    --to=drew.adams@oracle.com \
    --cc=christoph.wedler@sap.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.