[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)