From: John Wiegley <jwiegley@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: Re: [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation
Date: Mon, 09 Nov 2015 11:06:47 -0800 [thread overview]
Message-ID: <m2egfzhu0o.fsf@Vulcan.attlocal.net> (raw)
In-Reply-To: <83oaf4o4gs.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 08 Nov 2015 18:12:19 +0200")
I am unaware of the historical context for this argument. To chime in based on
what I've read from Eli:
Allowing dynamic behavior to trigger on modifying a variable could be very
valuable during debugging. GDB allows this in the form of watchpoints.
As long as we never allow the use of this facility to creep into Emacs itself,
I can see value in giving users another way to debug and/or customize their
environment, as long as they are fully informed of the potential costs.
John
>>>>> Eli Zaretskii <eliz@gnu.org> writes:
> Also, we have this strong objection to the idea from Richard:
>> Hooks on setting variables is a fundamentally bad idea
>> because it means that Lisp code which appears to just bind variables
>> can call functions where you did not expect it.
>> [...]
>> However, having any variable, the binding of which can run Lisp code,
>> is an absolute disaster. If the price we pay for to avoid that disaster
>> is that we don't have the feature you would like, so be it.
>>
>> > Besides that, hooks on setting variables would be useful for debugging.
>>
>> No matter what they would be useful for, it is not worth the chaos
>> they would cause.
>>
>> Maybe a specialized feature solely for debugging could be made safe.
> AFAICT, these objections were never addressed in the discussions. And we
> _are_ talking about using such a facility for purposes other than debugging,
> albeit internal purposes. Maybe calling a C function for "hooked" symbols
> takes care of Richard's objections, but then such a function will probably
> have to consult some Lisp data to know what to do with each "hooked" symbol.
> Not sure if this is okay or sufficient.
next prev parent reply other threads:[~2015-11-09 19:06 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20151106192313.30794.29154@vcs.savannah.gnu.org>
[not found] ` <E1ZumbR-00081I-Hj@vcs.savannah.gnu.org>
2015-11-07 23:40 ` [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation Stefan Monnier
2015-11-08 16:12 ` Eli Zaretskii
2015-11-08 22:24 ` Stefan Monnier
2015-11-09 21:48 ` Richard Stallman
2015-11-10 1:16 ` Stefan Monnier
2015-11-10 18:18 ` Richard Stallman
2015-11-10 19:34 ` Stefan Monnier
2015-11-09 19:06 ` John Wiegley [this message]
2015-11-09 19:17 ` Eli Zaretskii
2015-11-09 21:57 ` John Wiegley
2015-11-13 0:31 ` Noam Postavsky
2015-11-13 8:06 ` Eli Zaretskii
2015-11-13 13:58 ` Stefan Monnier
2015-11-13 16:36 ` Noam Postavsky
2015-11-13 18:47 ` Eli Zaretskii
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=m2egfzhu0o.fsf@Vulcan.attlocal.net \
--to=jwiegley@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).