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

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

[nongnu] elpa/slime 3fca003ac6: Fix slime-modeline-string


From: ELPA Syncer
Subject: [nongnu] elpa/slime 3fca003ac6: Fix slime-modeline-string
Date: Wed, 31 Jul 2024 13:00:57 -0400 (EDT)

branch: elpa/slime
commit 3fca003ac639df989af3cfbfc8112bd34ea1a042
Author: mavbozo <maverickbozo@me.com>
Commit: Stas Boukarev <stassats@gmail.com>

    Fix slime-modeline-string
    
    In emacs version < 28, slime-modeline-string execution
    throws (void-function string-replace). string-replace exists in emacs
    version > 28.
    
    This commit changes string-replace usage with replace-regexp-in-string
    and also add tests for slime-modeline-string function.
---
 slime-tests.el | 20 ++++++++++++++++++++
 slime.el       |  2 +-
 2 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/slime-tests.el b/slime-tests.el
index 4673775f64..f71e9fffab 100644
--- a/slime-tests.el
+++ b/slime-tests.el
@@ -1328,6 +1328,26 @@ Reconnect afterwards."
                               (not (member hook slime-connected-hook)))
                             5))))
 
+(def-slime-test slime-modeline-string-test
+  (expected current-connection buffer-connection
+   connection-name current-package modeline-state-string)
+  "slime-modeline-string returns string in proper format."
+  '((" Slime" nil nil nil nil nil)
+    (" {sbcl local-conn-1 state}" 'mocked-conn 'mocked-local-conn
+     "local-conn-1" "sbcl" " state")
+    (" [sbcl conn-1 state]" 'mocked-conn nil "conn-1" "sbcl" " state"))
+  (with-temp-buffer
+    (lisp-mode)
+    (slime-check ("slime-modeline-string returns \"%s\"" expected)
+      (cl-letf (((symbol-function 'slime-current-connection)
+                (lambda () (or buffer-connection current-connection)))
+               ((symbol-function 'slime-connection-name) (lambda (_) 
connection-name))
+               ((symbol-function 'slime-current-package) (lambda () 
current-package))
+               ((symbol-function 'slime-modeline-state-string)
+                 (lambda (_) modeline-state-string)))
+       (setq slime-buffer-connection buffer-connection)
+       (equal expected (slime-modeline-string))))))
+
 
 ;;;; SLIME-loading tests that launch separate Emacsen
 ;;;;
diff --git a/slime.el b/slime.el
index 9832937d87..d7934f6940 100644
--- a/slime.el
+++ b/slime.el
@@ -504,7 +504,7 @@ information."
             (pkg   (slime-current-package)))
         (concat " "
                 (if local "{" "[")
-                (if pkg (string-replace "%" "%%" (slime-pretty-package-name 
pkg)) "?")
+                (if pkg (replace-regexp-in-string "%" "%%" 
(slime-pretty-package-name pkg)) "?")
                 " "
                 ;; ignore errors for closed connections
                 (ignore-errors (slime-connection-name conn))



reply via email to

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