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

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

[nongnu] elpa/rust-mode 4ea4920319 1/2: Use when-let as appropriate.


From: ELPA Syncer
Subject: [nongnu] elpa/rust-mode 4ea4920319 1/2: Use when-let as appropriate.
Date: Wed, 11 Jan 2023 19:59:37 -0500 (EST)

branch: elpa/rust-mode
commit 4ea4920319094a47f58dc7b455c0daac50d61850
Author: Jim Blandy <jimb@red-bean.com>
Commit: Jim Blandy <jimb@red-bean.com>

    Use when-let as appropriate.
---
 rust-mode.el | 45 ++++++++++++++++++++++-----------------------
 1 file changed, 22 insertions(+), 23 deletions(-)

diff --git a/rust-mode.el b/rust-mode.el
index 780474f16f..4bb1bcb67d 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -15,7 +15,9 @@
 
 ;;; Code:
 
-(eval-when-compile (require 'rx))
+(eval-when-compile
+  (require 'rx)
+  (require 'subr-x))
 
 (defvar rust-load-optional-libraries t
   "Whether loading `rust-mode' also loads optional libraries.
@@ -948,12 +950,11 @@ and end."
 (defun rust-string-interpolation-matcher (limit)
   "Match next Rust interpolation marker before LIMIT and set match data if 
found.
 Returns nil if not within a Rust string."
-  (when (rust-in-str)
-    (let ((match (rust-next-string-interpolation limit)))
-      (when match
-        (set-match-data match)
-        (goto-char (cadr match))
-        match))))
+  (when-let (((rust-in-str))
+             (match (rust-next-string-interpolation limit)))
+    (set-match-data match)
+    (goto-char (cadr match))
+    match))
 
 (defun rust-syntax-class-before-point ()
   (when (> (point) 1)
@@ -976,19 +977,18 @@ Returns nil if not within a Rust string."
    ;; We need to be able to back up past the Fn(args) -> RT form as well.  If
    ;; we're looking back at this, we want to end up just after "Fn".
    ((member (char-before) '(?\] ?\) ))
-    (let* ((is-paren (rust-looking-back-str ")"))
-           (dest (save-excursion
-                   (backward-sexp)
-                   (rust-rewind-irrelevant)
-                   (or
-                    (when (rust-looking-back-str "->")
-                      (backward-char 2)
-                      (rust-rewind-irrelevant)
-                      (when (rust-looking-back-str ")")
-                        (backward-sexp)
-                        (point)))
-                    (and is-paren (point))))))
-      (when dest
+    (let ((is-paren (rust-looking-back-str ")")))
+      (when-let ((dest (save-excursion
+                         (backward-sexp)
+                         (rust-rewind-irrelevant)
+                         (or
+                          (when (rust-looking-back-str "->")
+                            (backward-char 2)
+                            (rust-rewind-irrelevant)
+                            (when (rust-looking-back-str ")")
+                              (backward-sexp)
+                              (point)))
+                          (and is-paren (point))))))
         (goto-char dest))))))
 
 (defun rust-rewind-to-decl-name ()
@@ -1365,9 +1365,8 @@ whichever comes first."
 (defun rust-syntax-propertize (start end)
   "A `syntax-propertize-function' to apply properties from START to END."
   (goto-char start)
-  (let ((str-start (rust-in-str-or-cmnt)))
-    (when str-start
-      (rust--syntax-propertize-raw-string str-start end)))
+  (when-let ((str-start (rust-in-str-or-cmnt)))
+    (rust--syntax-propertize-raw-string str-start end))
   (funcall
    (syntax-propertize-rules
     ;; Character literals.



reply via email to

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