[Top][All Lists]

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

Re: [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation

From: John Wiegley
Subject: Re: [Emacs-diffs] master 19e09cf: Ensure redisplay after evaluation
Date: Mon, 09 Nov 2015 11:06:47 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (darwin)

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.


>>>>> Eli Zaretskii <address@hidden> 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.

reply via email to

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