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

Evenson merge 20170423a #1

Open
wants to merge 20 commits into
base: beta
Choose a base branch
from
Open

Evenson merge 20170423a #1

wants to merge 20 commits into from

Conversation

easye
Copy link

@easye easye commented Apr 24, 2017

No description provided.

alanruttenberg and others added 20 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.
Gives user-specific implementations earlier use of the matcher.
(Alan Ruttenberg)

Spell correct seperated -> separated.
* * *
revert a small change
The new special *FIND-DEFINITIONS-ALL-PACKAGES* controls this
behavior.
(Alan Ruttenberg)

Allow (:multiple ..) in inspector specs to make life a bit easier.
(Alan Ruttenberg)

WITH-STRUCT*, LCONS, LCONS*, LCONS-CDR, LLIST-RANGE, LLIST-SKIP,
LLIST-TAKE and ILINE are potentially useful in implementation-specific
inspector functions and implementations are loaded before swank.lisp.
(Alan Ruttenberg)

Searching for functions and methods was broken in cases where

    a) Either the (def or the name was package prefixed
or  b) where there initial arguments of a method which weren't specialized.

Fix a) by adding a regex that matches the package optionally.

fix b) by instead of removing T specializers, replacing them with
\>[[:word:]]+\<.
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.
Note that this implementation does not capture values printed to
standard output. It is not clear that dynamically rebinding the
standard output port is possible in Kawa.
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.

5 participants