From f1ed9febdd4bc4746c2a9fdaa0700014900b1326 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Thu, 25 Apr 2013 07:06:48 +0000 Subject: [PATCH] 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 --- tools/clang-format/clang-format.el | 14 +++++++++----- 1 file 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))))) -- 2.50.1