emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/rust-mode ed0b390 246/486: Merge pull request #148 from bm


From: ELPA Syncer
Subject: [nongnu] elpa/rust-mode ed0b390 246/486: Merge pull request #148 from bmastenbrook/master
Date: Sat, 7 Aug 2021 09:25:29 -0400 (EDT)

branch: elpa/rust-mode
commit ed0b390e11be6642085ae05a57aa9ceae63211c4
Merge: 18fad39 a8a5e14
Author: Niko Matsakis <niko@alum.mit.edu>
Commit: Niko Matsakis <niko@alum.mit.edu>

    Merge pull request #148 from bmastenbrook/master
    
    Fill regular block comments correctly
---
 rust-mode-tests.el |  9 +++++++++
 rust-mode.el       | 14 +++++++++++---
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index 2c0431c..de3900c 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -164,6 +164,15 @@ Also, the result should be the same regardless of whether 
the code is at the beg
      //
      // This is the second really really really really really really long 
paragraph" 1 89))
 
+(ert-deftest fill-paragraph-multi-line-style-comment ()
+  (test-fill-paragraph
+   "/* This is a very very very very very very very very long string
+ */"
+   "/* This is a very very very very
+ * very very very very long
+ * string
+ */"))
+
 (ert-deftest fill-paragraph-multi-line-style-inner-doc-comment ()
   (test-fill-paragraph
    "/*! This is a very very very very very very very long string
diff --git a/rust-mode.el b/rust-mode.el
index 62d3007..647e6b1 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -1058,10 +1058,18 @@ the desired identifiers), but does not match type 
annotations \"foo::<\"."
   (let ((result
          ;; Replace /* with same number of spaces
          (replace-regexp-in-string
-          "\\(?:/\\*+\\)[!*]"
+          "\\(?:/\\*+?\\)[!*]?"
           (lambda (s)
-            ;; We want the * to line up with the first * of the comment start
-            (concat (make-string (- (length s) 2) ?\x20) "*"))
+            ;; We want the * to line up with the first * of the
+            ;; comment start
+            (let ((offset (if (eq t
+                                  (compare-strings "/*" nil nil
+                                                   s
+                                                   (- (length s) 2)
+                                                   (length s)))
+                              1 2)))
+              (concat (make-string (- (length s) offset)
+                                   ?\x20) "*")))
           line-start)))
     ;; Make sure we've got at least one space at the end
     (if (not (= (aref result (- (length result) 1)) ?\x20))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]