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

ABCL introspect 201703a #375

Closed
wants to merge 3 commits into from
Closed

ABCL introspect 201703a #375

wants to merge 3 commits into from

Conversation

easye
Copy link
Contributor

@easye easye commented Mar 27, 2017

This pull request consolidates Alan Ruttenberg's Winter 2016 changes that drastically improve the inspection of code with the abcl implementation.

I have tested that this code works with both abcl-1.4.0 and abcl-1.5.0-dev (aka "abcl trunk").

The code works independently of a bunch of SLIME additions from Alan Ruttenberg which will be issues a separate pull request (c.f. #376)

alanruttenberg and others added 3 commits September 5, 2016 20:58
Most of the functionality in this patch requires the as yet unreleased
abcl-1.5.0 which may be built from the
[abcl-1.5.0-dev][abcl-source-svn] for which [gitlab.common-lisp.net
provides a convenient git
bridge](https://gitlab.common-lisp.net/abcl/abcl)

[abcl-source-svn]: svn://abcl.org/svn/trunk/abcl

Enable goto source location to find definitions in JAR archives.

For primitives compiled from Java source, return implementation source
location designated by the logical pathname associated with 'SYS:SRC'.

Finding functions and methods works well, other than when methods are
defined as part of a DEFGENERIC form, or implicitly as with :report on
condition defining PRINT-OBJECT.

FIND-DEFINITIONS include symbols and specials defined in Java.

Redirect source lookup to system jar if it's not where it claims to be.

Show stack trace when inspecting Java conditions.

Implement an inspector for Java classes.

Make line labels in inspector (:labels) so they display nicely.

Allow find definitions to be called even if the symbol isn't found in
the current package, if *find-definitions-all-packages* is t (as it
will be for ABCL). Default nil

Print internal variables in Java stack traces.

Prettier function name if we can glean information about otherwise
anonymous function.

Fix so that edit slot action in clos object inspector works.

Tweak to invoke hyperspec in inspector (offered in symbol browser if a
CL symbol) - *slime-inspector-hyperspec-in-browser* if t shows
hyperspec in emacs buffer despite setting of
browse-url-browser-function.

Don't use the ABCL native printObject for frames, so we can get prettier
function display.

Compile DEFIMPLEMENTATION forms so that they are visible to edit definition.

Fix source-location (used by view frame source) to work in general and
in particular for local function - go to the source of their owner.

Don't show bogus locals for Java stack frames.
This should be a non-functional change from a behavior perspective,
for which there are unfortunately no non-interactive tests.
Uncertain if this is working.
@easye easye closed this Apr 23, 2017
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.

None yet

2 participants