[Top][All Lists]

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

Re: Watchpoints for emacs lisp.

From: A. Soare
Subject: Re: Watchpoints for emacs lisp.
Date: Tue, 11 May 2010 15:54:12 +0200 (CEST)

> > I insert to the struct Lisp_Symbol a field :watched: .
> So, no support for watching for an element of an array or pair to be changed, 
> or part of a string?

Hm... I thought only to symbols, true. Not to arrays, not to numbers.

Can you use the change of an array if a symbol does not point to it? Probably 
yes. There exist lambda function (functions without name), but probably one can 
debug also the change of an array without name.


> > Afterwards, in ALL functions that are able to change the value of a symbol,
> > I insert a checkpoint, which looks like that:
> > 
> > <if the symbol to change has the flag :watched: true, that call the
> > corresponding procedure of the debugger>
> > 
> > Is it ok the algorithm ? In how many obarrays should I look for the given
> > symbol ?
> If you do it this way, I think having a Lisp function take a symbol in which 
> to set the flag, and having a user-callable function which uses (interactive 
> "S") (which asks the user for a symbol name in the main obarray), is probably 
> a good start.  Anything that isn't in the main obarray can be provided 
> directly in lisp by the developer.
> What about changes to the property list, or function value, of a symbol?

Can you figure an algorithm for checking very fast (O (0)) whether a symbol has 
a given property ?

Yes, surely yes, if property lists would have been implemented with fast search 
algo, which is not the case of emacs.  



 Les scandales de cannes, les palmes d'or, l'actualité du festival sur voila.fr 

reply via email to

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