diff options
author | Daniel Jasper <djasper@google.com> | 2013-04-25 07:06:48 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-04-25 07:06:48 +0000 |
commit | f1ed9febdd4bc4746c2a9fdaa0700014900b1326 (patch) | |
tree | 2927ef77221e4a2fc1e07a90e1d3dcfa7c90d188 /tools | |
parent | b70d1c32ca62d072b3f4a5d4628fdcf692cbf2f0 (diff) |
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
Diffstat (limited to 'tools')
-rw-r--r-- | tools/clang-format/clang-format.el | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/tools/clang-format/clang-format.el b/tools/clang-format/clang-format.el index d58e40358b..70504c9f3c 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))))) |