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

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

[nongnu] elpa/rust-mode 894487d44c 5/5: Merge pull request #455 from rus


From: ELPA Syncer
Subject: [nongnu] elpa/rust-mode 894487d44c 5/5: Merge pull request #455 from rust-lang/minor-fixes
Date: Fri, 19 Aug 2022 08:59:50 -0400 (EDT)

branch: elpa/rust-mode
commit 894487d44c1664a9005cafd625fa99b54ff66c85
Merge: 01ba44166c d01b382755
Author: brotzeit <brotzeitmacher@gmail.com>
Commit: GitHub <noreply@github.com>

    Merge pull request #455 from rust-lang/minor-fixes
    
    minor fixes
---
 .gitignore         |  6 ++---
 rust-cargo.el      |  2 +-
 rust-compile.el    |  2 +-
 rust-mode-tests.el | 77 +++++++++++++++++++++++++++---------------------------
 rust-mode.el       | 50 +++++++++++++++++------------------
 rust-rustfmt.el    | 10 +++----
 6 files changed, 73 insertions(+), 74 deletions(-)

diff --git a/.gitignore b/.gitignore
index 2835be648c..3d9cc85ce1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,5 @@
 *.elc
 *-autoloads.el
-
-.eask
-/dist
+/rust-mode-pkg.el
+ .eask
+/dist
\ No newline at end of file
diff --git a/rust-cargo.el b/rust-cargo.el
index 090945a16d..0c35ddb150 100644
--- a/rust-cargo.el
+++ b/rust-cargo.el
@@ -64,7 +64,7 @@
   (when rust-always-locate-project-on-open
     (rust-update-buffer-project)))
 
-(add-hook 'rust-mode-hook 'rust-maybe-initialize-buffer-project)
+(add-hook 'rust-mode-hook #'rust-maybe-initialize-buffer-project)
 
 ;;; Internal
 
diff --git a/rust-compile.el b/rust-compile.el
index 78a53cf1d6..1bb31030ee 100644
--- a/rust-compile.el
+++ b/rust-compile.el
@@ -76,7 +76,7 @@ the compilation window until the top of the error is visible."
      (add-to-list 'compilation-error-regexp-alist-alist
                   (cons 'cargo cargo-compilation-regexps))
      (add-to-list 'compilation-error-regexp-alist 'cargo)
-     (add-hook 'next-error-hook 'rustc-scroll-down-after-next-error)))
+     (add-hook 'next-error-hook #'rustc-scroll-down-after-next-error)))
 
 ;;; _
 (provide 'rust-compile)
diff --git a/rust-mode-tests.el b/rust-mode-tests.el
index 8e3ee45f2b..6c967bf450 100644
--- a/rust-mode-tests.el
+++ b/rust-mode-tests.el
@@ -9,14 +9,15 @@
 (defconst rust-test-fill-column 32)
 (setq-default indent-tabs-mode nil)
 
-(defmacro test-silence (messages &rest body)
-  `(cl-letf* (((symbol-function 'm)
-               (symbol-function #'message))
-              ((symbol-function #'message)
-              (lambda (format-string &rest args)
-                (unless (member format-string ,messages)
-                  (apply 'm format-string args)))))
-     ,@body))
+(defmacro rust-test-silence (messages &rest body)
+  `(let ((f (lambda (orig-fun format-string &rest args)
+             (unless (member format-string ,messages)
+               (apply orig-fun format-string args)))))
+     (unwind-protect
+         (progn
+           (advice-add 'message :around f)
+           ,@body)
+       (advice-remove 'message f))))
 
 (defun rust-compare-code-after-manip (_original _point-pos _manip-func 
expected got)
   (equal expected got))
@@ -53,7 +54,7 @@
     (should (rust-compare-code-after-manip
              original point-pos manip-func expected (buffer-string)))))
 
-(defun test-fill-paragraph (unfilled expected &optional start-pos end-pos)
+(defun rust-test-fill-paragraph (unfilled expected &optional start-pos end-pos)
   "We're going to run through many scenarios here--the point should be able to 
be anywhere from the start-pos (defaults to 1) through end-pos (defaults to the 
length of what was passed in) and (fill-paragraph) should return the same 
result.  It should also work with fill-region from start-pos to end-pos.
 
 Also, the result should be the same regardless of whether the code is at the 
beginning or end of the file.  (If you're not careful, that can make a 
difference.)  So we test each position given above with the passed code at the 
beginning, the end, neither and both.  So we do this a total of 1 + (end-pos - 
start-pos)*4 times.  Oy."
@@ -91,7 +92,7 @@ Also, the result should be the same regardless of whether the 
code is at the beg
     ))
 
 (ert-deftest fill-paragraph-top-level-multi-line-style-doc-comment-second-line 
()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "/**
  * This is a very very very very very very very long string
  */"
@@ -102,7 +103,7 @@ Also, the result should be the same regardless of whether 
the code is at the beg
 
 
 (ert-deftest fill-paragraph-top-level-multi-line-style-doc-comment-first-line 
()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "/** This is a very very very very very very very long string
  */"
    "/** This is a very very very
@@ -118,7 +119,7 @@ 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
  */"))
-    (test-fill-paragraph
+    (rust-test-fill-paragraph
      multi-paragraph-unfilled
      "/**
  * This is the first really
@@ -128,7 +129,7 @@ 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)
-    (test-fill-paragraph
+    (rust-test-fill-paragraph
      multi-paragraph-unfilled
      "/**
  * This is the first really really really really really really really long 
paragraph
@@ -145,7 +146,7 @@ Also, the result should be the same regardless of whether 
the code is at the beg
         "/// This is the first really really really really really really 
really long paragraph
 ///
 /// This is the second really really really really really really long 
paragraph"))
-    (test-fill-paragraph
+    (rust-test-fill-paragraph
      multi-paragraph-unfilled
      "/// This is the first really
 /// really really really really
@@ -153,7 +154,7 @@ 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 86)
-    (test-fill-paragraph
+    (rust-test-fill-paragraph
      multi-paragraph-unfilled
      "/// This is the first really really really really really really really 
long paragraph
 ///
@@ -163,7 +164,7 @@ Also, the result should be the same regardless of whether 
the code is at the beg
      87)))
 
 (ert-deftest fill-paragraph-multi-paragraph-single-line-style-indented ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "     // This is the first really really really really really really really 
long paragraph
      //
      // This is the second really really really really really really long 
paragraph"
@@ -175,7 +176,7 @@ 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
+  (rust-test-fill-paragraph
    "/* This is a very very very very very very very very long string
  */"
    "/* This is a very very very very
@@ -184,7 +185,7 @@ Also, the result should be the same regardless of whether 
the code is at the beg
  */"))
 
 (ert-deftest fill-paragraph-multi-line-style-inner-doc-comment ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "/*! This is a very very very very very very very long string
  */"
    "/*! This is a very very very
@@ -193,14 +194,14 @@ Also, the result should be the same regardless of whether 
the code is at the beg
  */"))
 
 (ert-deftest fill-paragraph-single-line-style-inner-doc-comment ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "//! This is a very very very very very very very long string"
    "//! This is a very very very
 //! very very very very long
 //! string"))
 
 (ert-deftest fill-paragraph-prefixless-multi-line-doc-comment ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "/**
 This is my summary. Blah blah blah blah blah. Dilly dally dilly dally dilly 
dally doo.
 
@@ -215,7 +216,7 @@ This is some more text.  Fee fie fo fum.  Humpty dumpty sat 
on a wall.
 */" 4 90))
 
 (ert-deftest fill-paragraph-with-no-space-after-star-prefix ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "/**
  *This is a very very very very very very very long string
  */"
@@ -225,7 +226,7 @@ This is some more text.  Fee fie fo fum.  Humpty dumpty sat 
on a wall.
  */"))
 
 (ert-deftest fill-paragraph-single-line-style-with-code-before ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "fn foo() { }
 /// This is my comment.  This is more of my comment.  This is even more."
    "fn foo() { }
@@ -234,7 +235,7 @@ This is some more text.  Fee fie fo fum.  Humpty dumpty sat 
on a wall.
 /// even more." 14))
 
 (ert-deftest fill-paragraph-single-line-style-with-code-after ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "/// This is my comment.  This is more of my comment.  This is even more.
 fn foo() { }"
    "/// This is my comment.  This is
@@ -243,7 +244,7 @@ fn foo() { }"
 fn foo() { }" 1 73))
 
 (ert-deftest fill-paragraph-single-line-style-code-before-and-after ()
-  (test-fill-paragraph
+  (rust-test-fill-paragraph
    "fn foo() { }
 /// This is my comment.  This is more of my comment.  This is even more.
 fn bar() { }"
@@ -318,7 +319,7 @@ very very very long string
      deindented
      1
      (lambda ()
-       (test-silence
+       (rust-test-silence
         '("%s %s"   ; "Indenting..." progress-reporter-do-update
           "%sdone") ; "Indenting...done"  progress-reporter-done
         (indent-region 1 (+ 1 (buffer-size)))))
@@ -392,11 +393,11 @@ not_a_string();
 
 "
 
-   (apply 'append (mapcar (lambda (s) (list s 'font-lock-string-face))
-                          '("r\"foo\\\"" "\"bar\"" "r\"bar\""
-                            "r\"foo\\.\"" "\"bar\"" "r\"bar\""
-                            "r\"foo\\..\"" "\"bar\"" "r\"foo\\..\\bar\""
-                            "r\"\\\"" "\"foo\"" "r\"\\foo\"")))
+   (apply #'append (mapcar (lambda (s) (list s 'font-lock-string-face))
+                           '("r\"foo\\\"" "\"bar\"" "r\"bar\""
+                             "r\"foo\\.\"" "\"bar\"" "r\"bar\""
+                             "r\"foo\\..\"" "\"bar\"" "r\"foo\\..\\bar\""
+                             "r\"\\\"" "\"foo\"" "r\"\\foo\"")))
    ))
 
 (ert-deftest font-lock-raw-string-after-normal-string-ending-in-r ()
@@ -3305,7 +3306,7 @@ type Foo<T> where T: Copy = Box<T>;
 (ert-deftest redo-syntax-after-change-far-from-point ()
   (let*
       ((tmp-file-name (make-temp-file "rust-mdoe-test-issue104"))
-       (base-contents (apply 'concat (append '("fn foo() {\n\n}\n") (make-list 
500 "// More stuff...\n") '("fn bar() {\n\n}\n")))))
+       (base-contents (apply #'concat (append '("fn foo() {\n\n}\n") 
(make-list 500 "// More stuff...\n") '("fn bar() {\n\n}\n")))))
     ;; Create the temp file...
     (with-temp-file tmp-file-name
       (insert base-contents))
@@ -3480,12 +3481,11 @@ impl Two<'a> {
    #'rust-dbg-wrap-or-unwrap
    "let x = dbg!(\"foo, bar\")"))
 
-(when (executable-find rust-cargo-bin)
-  (ert-deftest rust-test-project-located ()
-    (let* ((test-dir (expand-file-name "test-project/" default-directory))
-           (manifest-file (expand-file-name "Cargo.toml" test-dir)))
-      (let ((default-directory test-dir))
-        (should (equal (expand-file-name (rust-buffer-project)) 
manifest-file))))))
+(ert-deftest rust-test-project-located ()
+  (let* ((test-dir (expand-file-name "test-project/" default-directory))
+         (manifest-file (expand-file-name "Cargo.toml" test-dir)))
+    (let ((default-directory test-dir))
+      (should (equal (expand-file-name (rust-buffer-project)) 
manifest-file)))))
 
 (defun rust-collect-matches (spec)
   (let ((matches nil))
@@ -3631,5 +3631,6 @@ impl Two<'a> {
          `(should
            (or
             (string-match "Prefix Command" ,match)
-            (string-match "^C-c C" ,match)))))
+            (string-match "^C-c C" ,match)))
+         t))
       (should (< 0 match-count)))))
diff --git a/rust-mode.el b/rust-mode.el
index dda79942e2..997f2b1cf7 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -236,15 +236,15 @@ See `prettify-symbols-compose-predicate'."
 
 (defvar rust-mode-map
   (let ((map (make-sparse-keymap)))
-    (define-key map (kbd "C-c C-d") 'rust-dbg-wrap-or-unwrap)
+    (define-key map (kbd "C-c C-d") #'rust-dbg-wrap-or-unwrap)
     (when rust-load-optional-libraries
-      (define-key map (kbd "C-c C-c C-u") 'rust-compile)
-      (define-key map (kbd "C-c C-c C-k") 'rust-check)
-      (define-key map (kbd "C-c C-c C-t") 'rust-test)
-      (define-key map (kbd "C-c C-c C-r") 'rust-run)
-      (define-key map (kbd "C-c C-c C-l") 'rust-run-clippy)
-      (define-key map (kbd "C-c C-f") 'rust-format-buffer)
-      (define-key map (kbd "C-c C-n") 'rust-goto-format-problem))
+      (define-key map (kbd "C-c C-c C-u") #'rust-compile)
+      (define-key map (kbd "C-c C-c C-k") #'rust-check)
+      (define-key map (kbd "C-c C-c C-t") #'rust-test)
+      (define-key map (kbd "C-c C-c C-r") #'rust-run)
+      (define-key map (kbd "C-c C-c C-l") #'rust-run-clippy)
+      (define-key map (kbd "C-c C-f") #'rust-format-buffer)
+      (define-key map (kbd "C-c C-n") #'rust-goto-format-problem))
     map)
   "Keymap for Rust major mode.")
 
@@ -286,21 +286,22 @@ See `prettify-symbols-compose-predicate'."
                       comment-start-skip
                       "\\|\\*/?[[:space:]]*\\|\\)$"))
   (setq-local paragraph-separate paragraph-start)
-  (setq-local normal-auto-fill-function 'rust-do-auto-fill)
-  (setq-local fill-paragraph-function 'rust-fill-paragraph)
-  (setq-local fill-forward-paragraph-function 'rust-fill-forward-paragraph)
-  (setq-local adaptive-fill-function 'rust-find-fill-prefix)
+  (setq-local normal-auto-fill-function #'rust-do-auto-fill)
+  (setq-local fill-paragraph-function #'rust-fill-paragraph)
+  (setq-local fill-forward-paragraph-function #'rust-fill-forward-paragraph)
+  (setq-local adaptive-fill-function #'rust-find-fill-prefix)
   (setq-local adaptive-fill-first-line-regexp "")
   (setq-local comment-multi-line t)
-  (setq-local comment-line-break-function 'rust-comment-indent-new-line)
+  (setq-local comment-line-break-function #'rust-comment-indent-new-line)
   (setq-local imenu-generic-expression rust-imenu-generic-expression)
   (setq-local imenu-syntax-alist '((?! . "w"))) ; For macro_rules!
-  (setq-local beginning-of-defun-function 'rust-beginning-of-defun)
-  (setq-local end-of-defun-function 'rust-end-of-defun)
+  (setq-local beginning-of-defun-function #'rust-beginning-of-defun)
+  (setq-local end-of-defun-function #'rust-end-of-defun)
   (setq-local parse-sexp-lookup-properties t)
   (setq-local electric-pair-inhibit-predicate
-              'rust-electric-pair-inhibit-predicate-wrap)
-  (setq-local electric-pair-skip-self 'rust-electric-pair-skip-self-wrap)
+              #'rust-electric-pair-inhibit-predicate-wrap)
+  (add-function :before-until (local 'electric-pair-skip-self)
+                #'rust-electric-pair-skip-self)
   ;; Configure prettify
   (setq prettify-symbols-alist rust-prettify-symbols-alist)
   (setq prettify-symbols-compose-predicate #'rust--prettify-symbols-compose-p)
@@ -1317,13 +1318,10 @@ This wraps the default defined by 
`electric-pair-inhibit-predicate'."
        (rust-is-lt-char-operator)))
    (funcall (default-value 'electric-pair-inhibit-predicate) char)))
 
-(defun rust-electric-pair-skip-self-wrap (char)
+(defun rust-electric-pair-skip-self (char)
   "Skip CHAR instead of inserting a second closing character.
-This wraps the default defined by `electric-pair-skip-self'."
-  (or
-   (= ?> char)
-   (let ((skip-self (default-value 'electric-pair-skip-self)))
-     (and skip-self (funcall skip-self char)))))
+This is added to the default skips defined by `electric-pair-skip-self'."
+  (= ?> char))
 
 (defun rust-ordinary-lt-gt-p ()
   "Test whether the `<' or `>' at point is an ordinary operator of some kind.
@@ -1543,10 +1541,10 @@ This handles multi-line comments with a * prefix on 
each line."
       (lambda ()
         (let
             ((fill-paragraph-function
-              (if (not (eq fill-paragraph-function 'rust-fill-paragraph))
+              (if (not (eq fill-paragraph-function #'rust-fill-paragraph))
                   fill-paragraph-function))
              (fill-paragraph-handle-comment t))
-          (apply 'fill-paragraph args)
+          (apply #'fill-paragraph args)
           t))))))
 
 (defun rust-do-auto-fill (&rest args)
@@ -1554,7 +1552,7 @@ This handles multi-line comments with a * prefix on each 
line."
 This handles multi-line comments with a * prefix on each line."
   (rust-with-comment-fill-prefix
    (lambda ()
-     (apply 'do-auto-fill args)
+     (apply #'do-auto-fill args)
      t)))
 
 (defun rust-fill-forward-paragraph (arg)
diff --git a/rust-rustfmt.el b/rust-rustfmt.el
index 025ec32a8f..bb8864728c 100644
--- a/rust-rustfmt.el
+++ b/rust-rustfmt.el
@@ -47,7 +47,7 @@
       (erase-buffer)
       (insert-buffer-substring buf)
       (let* ((tmpf (make-temp-file "rustfmt"))
-             (ret (apply 'call-process-region
+             (ret (apply #'call-process-region
                          (point-min)
                          (point-max)
                          rust-rustfmt-bin
@@ -152,7 +152,7 @@ rustfmt complain in the echo area."
 (defconst rust--format-word "\
 \\b\\(else\\|enum\\|fn\\|for\\|if\\|let\\|loop\\|\
 match\\|struct\\|union\\|unsafe\\|while\\)\\b")
-(defconst rust--format-line "\\([\n]\\)")
+(defconst rust--format-line "\\(\n\\)")
 
 ;; Counts number of matches of regex beginning up to max-beginning,
 ;; leaving the point at the beginning of the last match.
@@ -239,7 +239,7 @@ match\\|struct\\|union\\|unsafe\\|while\\)\\b")
 Return the created process."
   (interactive)
   (unless (executable-find rust-rustfmt-bin)
-    (error "Could not locate executable \%s\"" rust-rustfmt-bin))
+    (error "Could not locate executable %S" rust-rustfmt-bin))
   (let* ((buffer
           (with-current-buffer
               (get-buffer-create "*rustfmt-diff*")
@@ -247,14 +247,14 @@ Return the created process."
               (erase-buffer))
             (current-buffer)))
          (proc
-          (apply 'start-process
+          (apply #'start-process
                  "rustfmt-diff"
                  buffer
                  rust-rustfmt-bin
                  "--check"
                  (cons (buffer-file-name)
                        rust-rustfmt-switches))))
-    (set-process-sentinel proc 'rust-format-diff-buffer-sentinel)
+    (set-process-sentinel proc #'rust-format-diff-buffer-sentinel)
     proc))
 
 (defun rust-format-diff-buffer-sentinel (process _e)



reply via email to

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