From: phillip.lord@newcastle.ac.uk (Phillip Lord)
To: Drew Adams <drew.adams@oracle.com>
Cc: Rusi <rustompmody@gmail.com>, help-gnu-emacs@gnu.org
Subject: Re: In defense of Customize [was: Trying to right-align my window on startup]
Date: Thu, 16 Jan 2014 10:06:37 +0000 [thread overview]
Message-ID: <87lhyg5jgy.fsf@newcastle.ac.uk> (raw)
In-Reply-To: <8a68f95d-4916-4a5d-a92c-b5de5f8f4d6e@default> (Drew Adams's message of "Wed, 15 Jan 2014 09:28:11 -0800")
Drew Adams <drew.adams@oracle.com> writes:
>> I would like to have a "custom-setq" which set a var, checked to see
>> whether the types were correct wrt customize, then crashed if not. It
>> would be nice to use the knowledge of customize from lisp.
>
> See commands `customize-set-variable' and `customize-set-value'.
>
> (IMHO, `set-variable', which is also for setting a user variable,
> should behave similarly, but it does not.)
>
These don't do quite what I want. As a random example, consider this:
(defcustom pulse-flag (pulse-available-p)
"Whether to use pulsing for momentary highlighting.
Pulsing involves a bright highlight that slowly shifts to the
background color.
If the value is nil, highlight with an unchanging color until a
key is pressed.
If the value is `never', do no coloring at all.
Any other value means to do the default pulsing behavior.
If `pulse-flag' is non-nil, but `pulse-available-p' is nil, then
this flag is ignored."
:group 'pulse
:type 'boolean)
Now, this is type boolean. So we can do this..
(customize-set-value 'pulse-flag nil)
and all is good. We can also do this...
(customize-set-value 'pulse-flag "wrong")
Now we have pulse-flag set to an illegal value. Of course, in this case,
it won't matter because "wrong" will be interpreted as t. But it means I
can set the variable to something which the GUI will not. I want this to
throw an error.
In this case, the ability to set an "illegal" value is actually useful,
because the :type is wrong, as legal values are t, nil or 'never
(according to the documentation) not just 'boolean. Why has this never
been discovered? I would suggest two possibilities: a) the developers
have never, ever set 'pulse-flag or b) they just used setq in their
.emacs. If the latter is true, having a way of only setting legal values
according to customize would have been helpful, because this would have
crashed, and they would have fixed it.
Phil
next prev parent reply other threads:[~2014-01-16 10: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 [this message]
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
[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=87lhyg5jgy.fsf@newcastle.ac.uk \
--to=phillip.lord@newcastle.ac.uk \
--cc=drew.adams@oracle.com \
--cc=help-gnu-emacs@gnu.org \
--cc=rustompmody@gmail.com \
/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.