For debugging purposes, I have been using the following: struct trbuf { void* pc; int value; } trbuf[256]; unsigned char trptr; #define RECORD_INPUT do { __label__ woozle; \ woozle: trbuf[trptr++] = (struct trbuf) \ { &&woozle, interrupt_input_blocked}; } while(0)
And then whereever I change interrupt_input_blocked, I also call RECORD_INPUT. This causes Emacs to crash in unrelated spaces. I have crosschecked the compiled code, and it does the correct thing: no data type overflow problems or something. So it is obvious that the problem is elsewhere, likely that the data structures I use above confuse the garbage collector. What kind of data structures are allowed, and how can I hide data structures that would confuse it from the garbarge collector? -- David Kastrup, Kriemhildstr. 15, 44793 Bochum _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel