- (let ((groups (gnus-group-process-prefix arg))
- group)
- (while (setq group (pop groups))
- (gnus-group-remove-mark group)
- (funcall function group))))
+ (let ((,groups (gnus-group-process-prefix arg))
+ (,window (selected-window))
+ ,group)
+ (while (setq ,group (pop ,groups))
+ (select-window ,window)
+ (gnus-group-remove-mark ,group)
+ (save-selected-window
+ (save-excursion
+ (funcall ,function ,group)))))))))