Lute Kamstra <[EMAIL PROTECTED]> writes:

> When I was thinking about these three problems, it seemed to me that
> the easiest and simplest thing to do, is to move support for
> debug-on-entry into the C implementation of the Lisp interpreter.  To
> mark a function for debug-on-entry, you could set the debug-on-entry
> property of the function's symbol and the Lisp interpreter would then
> call the debugger.

You could define a bit in the Lisp_Symbol, like this:

struct Lisp_Symbol
{
  unsigned gcmarkbit : 1;

  /* Non-zero means symbol serves as a variable alias.  The symbol
     holding the real value is found in the value slot.  */
  unsigned indirect_variable : 1;

  /* Non-zero means call debugger on entry.  */
  unsigned debug_on_entry;

  ...

};


Then you would define debug-on-entry and cancel-debug-on-entry
in C as well, which simply set or clear that bit.



_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

Reply via email to