[slime-devel] Re: [PATCH] improved display of symbols of a package in the Inspector

Tobias C. Rittweiler tcr at freebits.de
Tue Apr 17 20:12:20 UTC 2007


"Tobias C. Rittweiler" <tcr at freebits.de> writes:

> To make oneself familiar with someone else's code, it's often desirable
> to see what symbols are defined in a package. I've added a special
> inspector page for that purpose that will pop up if you inspect the
> package, and then click on the links to the external/internal symbols.
> The flags are the same as those that are presented in Fuzzy Completion.

I added a button to that page to group the symbols with respect to their
respective classification, e.g. on #<PACKAGE "SWANK">:


  BOUNDP
  ----------------------------------------------------------------
  *ACTIVE-THREADS*
  *AFTER-INIT-HOOK*
  *AUTO-ABBREVIATE-DOTTED-PACKAGES*
  *BUFFER-PACKAGE*
  *BUFFER-READTABLE*
  ...
  
  CLASS
  ----------------------------------------------------------------
  %PACKAGE-SYMBOLS-CONTAINER
  CONNECTION
  FUZZY-MATCHING
  KEYWORD-ARG
  OPTIONAL-ARG
  SWANK-ERROR
  
  FUNCTION
  ----------------------------------------------------------------
  %%MAKE-PACKAGE-SYMBOLS-CONTAINER
  %CONTAINER.DESCRIPTION
  %CONTAINER.GROUPING-KIND
  %CONTAINER.SYMBOLS
  ...
  
  GENERIC-FUNCTION
  ----------------------------------------------------------------
  ALL-SLOTS-FOR-INSPECTOR
  COMPUTE-ENRICHED-DECODED-ARGLIST
  EXTRA-KEYWORDS
  ...
  
  MACRO
  ----------------------------------------------------------------
  ADD-HOOK
  DEFINE-SPECIAL
  DEFINE-STEPPER-FUNCTION
  DEFSLIMEFUN
  ...

  ...


Happy Browsing,

   -T.


2007-04-17  Tobias C. Rittweiler <INSERT-EMAIL-HERE>

	* swank.lisp: Instead of just having all the symbols of a package
	listed alphabetically in the inspector page recently introduced
	for that purpose, add a button to that page to group them by their
	classification.

	(%package-symbols-container): New slot GROUPING-KIND.
	(%make-package-symbols-container): New function, wraps around
	%%MAKE-PACKAGE-SYMBOLS-CONTAINER, which will actually create the
	structure. We need this, to make GROUPING-DEFAULT an entirely
	internal affair.

	(make-symbols-listing): New generic function to dispatch on
	GROUPING-KIND.
	(make-symbols-listing :symbol): Just the stuff that was priorly
	wired into INSPECT-FOR-EMACS (%PACKAGE-SYMBOLS-CONTAINER).
	(make-symbols-listing :classification): New; returns the passed
	symbols grouped by their classification.
	(inspect-for-emacs %package-symbols-container): Most code split
	off into MAKE-SYMBOLS-LISTING.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: slime-inspect-grouped-classification.diff
Type: text/x-diff
Size: 9059 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20070417/20ac671a/attachment.diff>


More information about the slime-devel mailing list