> Now I wonder what should be the best way to fix this. I can just switch > the above two code blocks, which will fix the immediate problem (a C-g > will not prevent canceling the frame-focus redirected), but I think this > points to a larger problem of hitting C-g while processing unwind forms. > Of course binding inhibit-quit during processing of unwind forms could > be a source of problem in itself (if those forms fail to terminate). I still have hare/tortoise implementations of Fset_window_prev_buffers and Fset_window_next_buffers (for pure curiosity I attach the corresponding part of a larger patch here). Chong didn't want to install them then because he considered it overengineering. Installing them means select_window could safely modify these lists with quitting inhibited. Calling `buffer-list-update-hook' would have to be deferred until the end of `set-window-configuration' - no great deal IMHO. Do you see any more problems? martin