Fix scrolling bug in clang-format's emacs integration.
This patch ensure that nothing scrolls even if the same buffer is opened
in multiple windows.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180252 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/clang-format/clang-format.el b/tools/clang-format/clang-format.el
index d58e403..70504c9 100644
--- a/tools/clang-format/clang-format.el
+++ b/tools/clang-format/clang-format.el
@@ -10,10 +10,12 @@
;; 'style' and 'binary' below.
(defun clang-format-region ()
(interactive)
- (let ((orig-window-start (window-start))
- (orig-point (point))
- (binary "clang-format")
- (style "LLVM"))
+
+ (let* ((orig-windows (get-buffer-window-list (current-buffer)))
+ (orig-window-starts (mapcar #'window-start orig-windows))
+ (orig-point (point))
+ (binary "clang-format")
+ (style "LLVM"))
(if mark-active
(setq beg (region-beginning)
end (region-end))
@@ -24,4 +26,6 @@
"-length" (number-to-string (- end beg))
"-style" style)
(goto-char orig-point)
- (set-window-start (selected-window) orig-window-start)))
+ (dotimes (index (length orig-windows))
+ (set-window-start (nth index orig-windows)
+ (nth index orig-window-starts)))))