unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Emanuel Berg <moasen@zoho.com>, help-gnu-emacs@gnu.org
Subject: RE: Using "Emacs Configure" **and** modifying .emacs
Date: Fri, 11 Aug 2017 13:46:31 -0700 (PDT)	[thread overview]
Message-ID: <dc709973-15fe-4450-a594-670a8bbda20f@default> (raw)
In-Reply-To: <867ey9sva2.fsf@zoho.com>

> > There are some custom settings (I'm afraid
> > I can think of anything specific at the
> > moment) where setting them via
> > `customize-...' also triggers a setting up
> > function, which incorporates the new setting
> > into something deeper than just
> > a variable value.
> 
> Let's see: a variable that triggers a function
> when it (the variable) is set, only that only
> works when it is set with a specific function?
> 
> And what happens if the variable is the the
> old-fashion way? An inconsistent state as there
> is now a mismatch between the variable value
> and the un-triggered function?
> 
> Well, hell. In my experience, bad ideas can't
> be circumvent by dealing with them the
> supposedly right way. That can only prolong the
> time before you realize it is a bad idea.

Yes, it is perhaps unfortunate that there is not a
more pervasive way to detect setting and thus trigger
application of the `:set' function.

On the other hand, this is Lisp, which means that code
can be generated and evaluated later etc., and it might
sometimes not be correct to trigger the function - at
least one can imagine that one size does not fit all
situations.

Still, I think we could improve things in this regard.
Perhaps by a symbol property that is checked when the
variable is set in any way (e.g. including by `set'
and `setq').  And perhaps by checking that some other
property or variable value does not override that
automatic set-triggering behavior.  Dunno.

But the lesson _here_ is simply that this is the way
things are, and it behooves a Lisp users to be aware
of it.  If you don't want to get bit then it is a good
idea to "deal with them the supposedly right way."

And that's not hard to do: just use `customize-variable'
instead of `setq', for user options.  How hard is that?
If you want something shorter, define an alias...



  reply	other threads:[~2017-08-11 20:46 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-10 13:51 Using "Emacs Configure" **and** modifying .emacs Ronald Fischer
2017-08-10 15:59 ` Drew Adams
2017-08-10 16:58   ` Emanuel Berg
2017-08-12 17:24     ` John Ankarström
2017-08-13 20:16       ` Emanuel Berg
2017-08-12 17:32     ` John Ankarström
2017-08-10 16:00 ` Óscar Fuentes
2017-08-10 16:56 ` Emanuel Berg
2017-08-11  7:21   ` Ronald Fischer
2017-08-11 13:51     ` Emanuel Berg
2017-08-11 14:11       ` Tomas Nordin
     [not found]       ` <mailman.12937.1502460691.21957.help-gnu-emacs@gnu.org>
2017-08-11 15:20         ` notbob
2017-08-11 15:31           ` Emanuel Berg
2017-08-11 16:54             ` Drew Adams
2017-08-11 19:07               ` Emanuel Berg
2017-08-11 19:15                 ` Drew Adams
2017-08-12 15:53                   ` ken
2017-08-12 16:11                     ` Emanuel Berg
2017-08-12 16:24                       ` ken
2017-08-13 20:19                         ` Emanuel Berg
     [not found]           ` <mailman.12941.1502465490.21957.help-gnu-emacs@gnu.org>
2017-08-11 15:57             ` notbob
2017-08-11 16:37               ` Emanuel Berg
     [not found]     ` <mailman.12935.1502459723.21957.help-gnu-emacs@gnu.org>
2017-08-11 14:09       ` HASM
2017-08-11 15:20         ` Emanuel Berg
     [not found]         ` <mailman.12940.1502464872.21957.help-gnu-emacs@gnu.org>
2017-08-11 18:55           ` Alan Mackenzie
2017-08-11 20:08             ` HASM
2017-08-11 20:29             ` Emanuel Berg
2017-08-11 20:46               ` Drew Adams [this message]
2017-08-11 22:12                 ` (1) defcustom :set, (2) similar for defvar Drew Adams
2017-08-12  0:15                 ` Using "Emacs Configure" **and** modifying .emacs Emanuel Berg
2017-08-12  7:30                   ` tomas
2017-08-12  7:43                     ` Emanuel Berg
2017-08-12  8:02                       ` tomas
2017-08-12 10:03                         ` Emanuel Berg
2017-08-12 10:38                           ` Tomas Nordin
2017-08-12 11:38                             ` Emanuel Berg
2017-08-15 22:10                             ` Emanuel Berg
2017-08-15 22:18                               ` Drew Adams
2017-08-15 22:27                                 ` Emanuel Berg
2017-08-15 23:38                                   ` Drew Adams
2017-08-16  0:09                                     ` John Mastro
2017-08-16  0:37                                       ` Robert Thorpe
2017-08-16  1:20                                         ` Emanuel Berg
2017-08-16  0:09                                     ` Emanuel Berg
2017-08-15 22:25                               ` John Mastro
2017-08-15 22:41                                 ` Emanuel Berg
2017-08-15 23:09                                 ` Drew Adams
2017-08-16  0:07                                   ` John Mastro
2017-08-16  0:13                                     ` Emanuel Berg
2017-08-12 12:50                         ` Emanuel Berg
2017-08-12 16:04                       ` Drew Adams
2017-08-12 16:20                         ` Emanuel Berg
2017-08-12 16:04                     ` Drew Adams
2017-08-12  0:32                 ` Emanuel Berg
2017-08-14 16:33                 ` Emanuel Berg
2017-08-14 18:15                   ` Emanuel Berg
2017-08-14 21:41                     ` Emanuel Berg
2017-08-14 23:17                     ` John Mastro
2017-08-15  0:24                       ` Emanuel Berg
2017-08-15  2:20                         ` Emanuel Berg
     [not found] ` <mailman.12888.1502380810.21957.help-gnu-emacs@gnu.org>
2017-08-10 17:47   ` Dan Espen
2017-08-10 18:06     ` Drew Adams
2017-08-10 18:10       ` Drew Adams
     [not found]     ` <mailman.12897.1502388423.21957.help-gnu-emacs@gnu.org>
2017-08-10 19:08       ` Dan Espen
2017-08-10 19:14         ` Emanuel Berg
     [not found]         ` <mailman.12899.1502392471.21957.help-gnu-emacs@gnu.org>
2017-08-11 12:03           ` Dan Espen
2017-08-11 13:46             ` Emanuel Berg

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=dc709973-15fe-4450-a594-670a8bbda20f@default \
    --to=drew.adams@oracle.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=moasen@zoho.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).