On 2/7/11 2:22 PM, Lennart Borgman wrote: > On Mon, Feb 7, 2011 at 11:19 PM, Alan Mackenzie wrote: >> >> I've actually inserted a call to `ignore' into the critical place, with >> all the things I want to see as parameters to ignore. Then I trace >> `ignore'. I _think_ I've got the problem tied down, but that will have >> to wait till tomorrow. > > Thanks for that trick, I never thought about using ignore like that. > That is a neat trick. One thing I like to do is use something like this as my "debug probe": (progn (message "foo: %s" foo) (redisplay t) (sit-for 1) t ; or nil, as appropriate ) This way, I can visualize the progress a function is making as it travels up and the down the buffer and detect patterns more easily than I can by looking at numeric output. If I have debug-on-quit turned on, I can stop the process when I notice something amiss and figure out what went wrong.