]> granicus.if.org Git - clang/commitdiff
Provide better emacs integration.
authorDaniel Jasper <djasper@google.com>
Fri, 12 Apr 2013 10:12:01 +0000 (10:12 +0000)
committerDaniel Jasper <djasper@google.com>
Fri, 12 Apr 2013 10:12:01 +0000 (10:12 +0000)
The new emacs integration is simpler, does not save the current file
before reformatting and ensures that emacs does not scroll as a result
of formatting.

Also explicitly set the style in clang-format tests to make them more
robust.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179372 91177308-0d34-0410-b5e6-96231b3b80d8

test/Format/basic.cpp
test/Format/ranges.cpp
tools/clang-format/clang-format.el

index 375bbd2ec71add897a91d1fdfff1cb848056978e..a12866b9c1e41f3456b6009be89d8e4b998eb19f 100644 (file)
@@ -1,5 +1,5 @@
 // RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp
-// RUN: clang-format -i %t.cpp
+// RUN: clang-format -style=LLVM -i %t.cpp
 // RUN: FileCheck -strict-whitespace -input-file=%t.cpp %s
 
 // CHECK: {{^int\ \*i;}}
index 0244fc195ca18951eca71be1d75f767eeacea364..c7fdd4b97a43e2733575c4fbcf37c110914d7c9e 100644 (file)
@@ -1,5 +1,5 @@
 // RUN: grep -Ev "// *[A-Z-]+:" %s > %t.cpp
-// RUN: clang-format -offset=2 -length=0 -offset=28 -length=0 -i %t.cpp
+// RUN: clang-format -style=LLVM -offset=2 -length=0 -offset=28 -length=0 -i %t.cpp
 // RUN: FileCheck -strict-whitespace -input-file=%t.cpp %s
 // CHECK: {{^int\ \*i;$}}
   int*i;
index c63c62ee551e4153477b2aac6c4c74b39458f6b4..1277885996cefe4288d6786263de85fbcb35ca5b 100644 (file)
 ;; 'style' and 'binary' below.
 (defun clang-format-region ()
   (interactive)
-  (let ((orig-file buffer-file-name)
+  (let ((orig-window-start (window-start))
         (orig-point (point))
-        (orig-mark (mark t))
-        (orig-mark-active mark-active)
         (binary "clang-format")
-        (style "LLVM")
-        replacement-text replaced beg end)
-    (basic-save-buffer)
-    (save-restriction
-      (widen)
-      (if mark-active
-          (setq beg (1- (region-beginning))
-                end (1- (region-end)))
-        (setq beg (1- (line-beginning-position))
-              end (1- (line-end-position))))
-      (with-temp-buffer
-        (call-process
-         binary orig-file '(t nil) t
-         "-offset" (number-to-string beg)
-         "-length" (number-to-string (- end beg))
-         "-style" style)
-        (setq replacement-text
-              (buffer-substring-no-properties (point-min) (point-max))))
-      (unless (string= replacement-text
-                       (buffer-substring-no-properties (point-min) (point-max)))
-        (delete-region (point-min) (point-max))
-        (insert replacement-text)
-        (setq replaced t)))
-    (ignore-errors
-      (when orig-mark
-        (push-mark orig-mark)
-        (when orig-mark-active
-          (activate-mark)
-          (setq deactivate-mark nil)))
-      (goto-char orig-point))))
+        (style "LLVM"))
+    (if mark-active
+        (setq beg (1- (region-beginning))
+              end (1- (region-end)))
+      (setq beg (1- (line-beginning-position))
+            end (1- (line-end-position))))
+    (call-process-region (point-min) (point-max) "clang-format" t t nil
+                         "-offset" (number-to-string beg)
+                         "-length" (number-to-string (- end beg))
+                         "-style" style)
+    (goto-char orig-point)
+    (set-window-start (selected-window) orig-window-start)))