Function: emerge-operate-on-windows
emerge-operate-on-windows is a byte-compiled function defined in
emerge.el.gz.
Signature
(emerge-operate-on-windows OPERATION ARG)
Source Code
;; Defined in /usr/src/emacs/lisp/vc/emerge.el.gz
;;; Window scrolling operations
;; These operations are designed to scroll all three windows the same amount,
;; so as to keep the text in them aligned.
;; Perform some operation on all three windows (if they are showing).
;; Catches all errors on the operation in the A and B windows, but not
;; in the merge window. Usually, errors come from scrolling off the
;; beginning or end of the buffer, and this gives a nice error message:
;; End of buffer is reported in the merge buffer, but if the scroll was
;; possible in the A or B windows, it is performed there before the error
;; is reported.
(defun emerge-operate-on-windows (operation arg)
(let* ((merge-buffer emerge-merge-buffer)
(buffer-A emerge-A-buffer)
(buffer-B emerge-B-buffer)
(window-A (get-buffer-window buffer-A 'visible))
(window-B (get-buffer-window buffer-B 'visible))
(merge-window (get-buffer-window merge-buffer)))
(if window-A (progn
(select-window window-A)
(condition-case nil
(funcall operation arg)
(error))))
(if window-B (progn
(select-window window-B)
(condition-case nil
(funcall operation arg)
(error))))
(if merge-window (progn
(select-window merge-window)
(funcall operation arg)))))