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

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

[nongnu] elpa/slime 3046056ebd 5/5: Merge commit 'cf30941e5858e93eb91574


From: ELPA Syncer
Subject: [nongnu] elpa/slime 3046056ebd 5/5: Merge commit 'cf30941e5858e93eb91574ad91499075222a447b' into elpa--merge/slime
Date: Thu, 28 Dec 2023 19:13:14 -0500 (EST)

branch: elpa/slime
commit 3046056ebda64201c4f4ca58796849df38c79fdc
Merge: 1923227f54 cf30941e58
Author: ELPA Syncer <elpasync@gnu.org>
Commit: ELPA Syncer <elpasync@gnu.org>

    Merge commit 'cf30941e5858e93eb91574ad91499075222a447b' into 
elpa--merge/slime
---
 NEWS               |  3 +++
 slime.el           |  2 +-
 swank.lisp         |  2 +-
 swank/allegro.lisp | 11 ++++++++++-
 swank/clisp.lisp   | 12 +++++++++---
 5 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/NEWS b/NEWS
index 1f24b85739..f33e55f4d3 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,7 @@
 * SLIME News                                -*- mode: outline; coding: utf-8 
-*-
+* 2.27 (January 2022)
+** Mostly improved compatibility with different implementations and bug fixes.
+
 * 2.26.1 (December 2020)
 ** SBCL compatibility
 
diff --git a/slime.el b/slime.el
index 5a33f21924..44ff006036 100644
--- a/slime.el
+++ b/slime.el
@@ -3,7 +3,7 @@
 ;; URL: https://github.com/slime/slime
 ;; Package-Requires: ((cl-lib "0.5") (macrostep "0.9"))
 ;; Keywords: languages, lisp, slime
-;; Version: 2.26.1
+;; Version: 2.27
 
 ;;;; License and Commentary
 
diff --git a/swank.lisp b/swank.lisp
index 266afbb93b..a5032d5e5c 100644
--- a/swank.lisp
+++ b/swank.lisp
@@ -2284,7 +2284,7 @@ Operation was KERNEL::DIVISION, operands (1 0).\"
   (invoke-restart (find 'abort *sldb-restarts* :key #'restart-name)))
 
 (defslimefun sldb-continue ()
-  (continue))
+  (invoke-restart (find 'continue *sldb-restarts* :key #'restart-name)))
 
 (defun coerce-to-condition (datum args)
   (etypecase datum
diff --git a/swank/allegro.lisp b/swank/allegro.lisp
index a9d72737ed..9df6874afd 100644
--- a/swank/allegro.lisp
+++ b/swank/allegro.lisp
@@ -107,7 +107,16 @@
 ;;;; Misc
 
 (defimplementation arglist (symbol)
-  (handler-case (excl:arglist symbol)
+  (handler-case
+      (let ((lambda-expression (ignore-errors
+                                (function-lambda-expression
+                                 (symbol-function symbol)))))
+        ;; LAMBDA-EXPRESSION, if available, has the default values of
+        ;; optional and keyword arguments of compiled functions while
+        ;; EXCL:ARGLIST doesn't.
+        (if lambda-expression
+            (second lambda-expression)
+            (excl:arglist symbol)))
     (simple-error () :not-available)))
 
 (defimplementation macroexpand-all (form &optional env)
diff --git a/swank/clisp.lisp b/swank/clisp.lisp
index 6e23b801cd..d028c9ed96 100644
--- a/swank/clisp.lisp
+++ b/swank/clisp.lisp
@@ -251,13 +251,19 @@
 
 ;;;; Swank functions
 
+(defimplementation function-name (f)
+  (check-type f function)
+  (system::function-name f))
+
 (defimplementation arglist (fname)
   (block nil
     (or (ignore-errors
-          (let ((exp (function-lambda-expression fname)))
-            (and exp (return (second exp)))))
-        (ignore-errors
           (return (ext:arglist fname)))
+        ;; For traced functions this returns the entire encapsulating
+        ;; lambda.
+        (ignore-errors
+         (let ((exp (function-lambda-expression fname)))
+           (and exp (return (second exp)))))
         :not-available)))
 
 (defimplementation macroexpand-all (form &optional env)



reply via email to

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