Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better environment, presentations, guile, and MIT support. #16

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

karlosz
Copy link

@karlosz karlosz commented Jun 11, 2024

No description provided.

karlosz added 8 commits June 3, 2024 02:52
And use this for the package data in swank:connection-info.
And use it where appropriate. param:environment is not the same thing.
And fix bugs with environment handling in the shared code.
Support is still lame because guile doesn't have good arglists for its
functions.
The current environment the REPL executes forms in no longer needs to
contain the binding for swank:lookup-presented-object-or-lose. The
form is evaluated at read-time, as intended.
@@ -264,7 +278,7 @@ The secondary value indicates the absence of an entry."
(if (and (list? x)
(eq? (car x) 'quote))
(cond ((string? (cadr x))
(cadr x))
(read-from-string (cadr x)))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not really familiar with the code, but why should unquote-string return something different than a string?

@rgherdt
Copy link
Contributor

rgherdt commented Dec 14, 2024

Besides my comment regarding unquote-string the PR seems fine to me.

(let* ((pattern "#.(swank:lookup-presented-object-or-lose ")
(start (string-contains string pattern)))
(if start
(replace-readtime-lookup-presented-object-or-lose
(string-replace string "" start (+ 2 start)))
string)))

(define (replace-lookup-presented-object-or-lose form)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I see, it's an workaround until proper lookup is implemented, right? In which cases slime sends these commands? Perhaps some TODO-comments with context information would be helpful.

(format #f "~a" (frame-procedure-name fr)))
(format #f "~a ~a"
(frame-procedure-name fr)
(frame-arguments fr)))
Copy link
Contributor

@rgherdt rgherdt Dec 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

alternatively, one can use frame-call-representation (see PR #17 ). But we can leave this change said PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants