> As for running menu-bar-update-hook multiple times when multiple > frames update their menu bars, I see there's no way for the hook > functions to tell which frame they are being called "for". So there > is no possible use in running it once for each frame. > > This patch should get rid of that. Does it?
Yes, it does seem to, there are multiple runs but they only occur in one frame. I have another gem that might provide some insight: src/emacs -Q (setq bar 0) (defun foo () (message "foo: %s %d" (buffer-name) (setq bar (1+ bar)))) (add-hook 'menu-bar-update-hook 'foo) M-x eval-buffer RET C-x 5 2 Now double mouse-1 on "message". The hook gets run multiple times (4 with your patch, 8 with CVS emacs). This is as I've already reported. Now, without doing anything else, quickly do double mouse-1 on "message" again. After the initial run multiple times as before, I see the hook being run repeatedly, perhaps twice a second. Note that it doesn't always happen like this (which is why I hadn't noticed it before) and you might need to try it again to reproduce it. Before you ask, disabling Options > Blinking Cursor seems to prevent it happening with a twist: there is a run of the hook after a pause (half a second?) but it is not repeated. I guess this is a quirk of the way blinking cursor is implemented. _______________________________________________ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug