Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
* slime-autodoc.el (slime-autodoc): Remove :gnu-emacs-only. Suggested by Raymond Toy. (slime-autodoc): Fix long lines.
* slime-autodoc.el (slime-autodoc): Don't cache variable values. (slime-autodoc-global-at-point): Remove, unused.
* slime-parse.el (slime-parse-form-upto-point): Fix lp#627308. * slime-autodoc.el (slime-canonicalize-whitespace): New helper. Extracted out of `slime-format-autodoc'. (slime-autodoc-to-string): New helper. (slime-check-autodoc-at-point): Use it. (autodoc.1): Add test case for above fix.
* slime.el (define-slime-contrib): New macro. * slime-autodoc.el, slime-c-p-c.el, slime-compiler-notes-tree.el, slime-enclosing-context.el, slime-fancy.el, slime-fuzzy.el, slime-hyperdoc.el, slime-mdot-fu.el, slime-mrepl.el, slime-parse.el, slime-presentations.el, slime-repl.el, slime-snapshot.el, slime-tramp.el, slime-xref-browser.el: Use newly added `define-slime-contrib' macro to specify slime and swank dependencies, and to specify what should happen on contrib load/unload.
* Make buffer names more consistent. Patch by Leo Liu.
* slime.el (slime-doc-bindings): Restore key for slime-apropos.
* slime-repl.el (slime-repl-inside-string-or-comment-p): New function, when in the REPL prompt, narrow the search to the prompt, otherwise stray " from the previous prompts or outputs may confuse slime-inside-string-or-comment-p. * slime-autodoc.el (slime-autodoc): Use slime-repl-inside-string-or-comment-p when fbound.
* slime-autodoc.el (slime-autodoc-manually): Rename from slime-autodoc-full. Like slime-autodoc, but when called twice, or after slime-autodoc was already automatically called, display multiline arglist.
* slime-autodoc.el (slime-autodoc-full): New command, displays multiline arglists. Bound to C-c C-d a. (slime-make-autodoc-rpc-form): Don't send :print-lines to autodoc, always use the actual width for :print-right-margin, remove newlines on formatting when needed. (slime-autodoc): Add optional parameter multilinep defaulted to slime-autodoc-use-multiline-p, pass it to slime-format-autodoc. * swank-arglists.lisp (autodoc, decoded-arglist-to-string): remove print-lines parameter, it's not used anymore. * slime.el (slime-doc-bindings): Move slime-apropos to C-c C-d A, C-c C-d a will be bound to slime-autodoc-full.
* swank-arglists.lisp (print-decoded-arglist): Print keywords using princ again.
* swank-arglists.lisp (arglist-dispatch): Handle method qualifiers. (print-arg): Renamed from princ-arg. (prin1-arg): Removed. * slime-autodoc.el (autodoc.1): Add test-case for method qualifiers.
Do not do an unnecessary autodoc RPC request in case we're not actually inside a form. * slime-autodoc.el (slime-make-autodoc-rpc-form): Return nil if not inside a form. (slime-autodoc): Adapted accordingly to propagate nil to eldoc.
* swank-arglists.lisp (extract-local-op-arglists): Fix for `(labels ((foo (x) ...)|'. * slime-autodoc.el (autodoc.1): Add test cases.
* slime.el (slime-load-contribs): Do not call SWANK-REQUIRE asynchronously, if host Lisp uses :SPAWN that may result in the attempt to load in code concurrently -- the host Lisp may not support that. * slime-asdf.el, slime-autodoc.el, slime-c-p-c.el, slime-clipboard.el, slime-fancy-inspector.el, slime-fuzzy,el, slime-indentation.el, slime-motd.el, slime-presentation-streams.el, slime-presentations.el, slime-sbcl-exts, slime-snapshot.el, slime-sprof.el: Make sure that contrib code does not try to load in swank code asynchronously but use `slime-require' instead; also make sure to move the `slime-require' into the contribs' init function.
* swank-arglists.lisp (interesting-variable-p): Exclude keywords from being candidates for "display variable content" autodoc feature. (print-decoded-arglist): Slightly better arglist printing if `slime-autodoc-use-multiline-p' is true. (parse-raw-form): Make it able to parse strings. * slime-autodoc.el (autodoc.1 [test]): Add more cases.
* slime-autodoc.el (slime-check-autodoc-at-point): Bind `slime-autodoc-use-multiline-p' to nil for normalized test results.
* swank-backend (declaration-arglist): Normalize declaration specifiers to contain `variables' rather than `vars'. * swank-arglists.lisp (arglist-dispatch ['declare]): Normalize `vars' to `variables'. (arglist-for-type-declaration): Ditto. * slime-autodoc (autodoc.1 [test]): Reorganize test, add comments, add cases to test declarations.
* slime-autodoc.el (slime-autodoc-mode): Only display "enabled"/"disabled" message if called interactively.
* slime-autodoc.el (slime-autodoc): Renamed from `slime-compute-autodoc'; now also interactive. (slime-autodoc-mode): Implement toggling properly. Make modeline string "Autodoc" rather than "Eldoc". (slime-autodoc-maybe-enable): Adapted accordingly.
* swank-arglists.lisp (arglist-index): Return NIL if more arguments were provided than are allowed. (form-path-to-arglist-path): Adapted accordingly. * slime-autodoc.el (autodoc.1 [test]): Add relevant test cases.
* slime-autodoc.el (slime-compute-autodoc): Revert last change. We must return nil to decline.
More cleanup. The RP swank:arglist-for-echo-area is now called swank:autodoc. * swank-arglists.lisp (autodoc): Renamed from arglist-for-echo-area. (variable-desc-for-echo-area): Deleted. Above function subsumes this functionality now. (print-variable-to-string): Extracted from variable-desc-for-echo-area. * slime-autodoc.el (slime-retrieve-arglist): Change RPC. (slime-make-autodoc-rpc-form): Ditto. (slime-autodoc-cache-type): Deleted. (slime-autodoc-cache): Deleted. (slime-autodoc-last-buffer-form): Replacement. (slime-autodoc-last-autodoc): Replacement. (slime-get-cached-autodoc): Adapted accordingly. (slime-store-into-autodoc-cache): Adapted accordingly. (slime-compute-autodoc): Simplified slightly. (autodoc.1 [test]): Extended.
* slime-autodoc.el (autodoc.1 [test]): Add a test case involving DEFMETHOD. * slime-c-p-c.el (complete-form [test]): New test. Fails for the moment. Reported by Matthias Koeppe.
Today's cleanup day. * slime-parse.el (slime-incomplete-form-at-point) (slime-parse-sexp-at-point) (slime-has-symbol-syntax-p) (slime-incomplete-sexp-at-point) (slime-parse-extended-operator-name) (slime-extended-operator-name-parser-alist) (slime-make-extended-operator-parser/look-ahead) (slime-parse-extended-operator/proclaim) (slime-parse-extended-operator/declare) (slime-parse-extended-operator/check-type) (slime-parse-extended-operator/the) (slime-nesting-until-point) (slime-make-form-spec-from-string) (slime-enclosing-form-specs) (slime-ensure-list) (slime-beginning-of-string) (slime-check-enclosing-form-specs) (enclosing-form-specs.1 [test]): Deleted. The new arglist code made all this superfluous. * slime-autodoc.el (slime-autodoc-accuracy-depth): New defcustom. (slime-retrieve-arglist): Return :not-available if appropriate. (slime-arglist): Use `slime-retrieve-arglist'. Delete reference to undefined variable. (slime-autodoc-thing-at-point): Deleted, not needed anymore. (slime-autodoc-hook): Deleted. (slime-autodoc-worthwhile-p): Deleted. (slime-make-autodoc-rpc-form): Simplified. (slime-compute-autodoc-internal): Merged with `slime-compute-autodoc'. (slime-compute-autodoc): Removed usage of old infrastructure. Simplified. * swank-arglists.lisp (print-decoded-arglist): Print ((:foo bar) quux) &key parameters correctly. (variable-desc-for-echo-area): Return :not-available, not nil. * slime-c-p-c.el (slime-complete-symbol*-fancy-bit): Adapted for new return value of `slime-retrieve-arglist'. * slime-fancy.el: Disable `slime-mdot-fu' contrib because that has to be adapted to new infrastructure. * slime-sbcl-exts.el (slime-enable-autodoc-for-sb-assem:inst): Deleted. Used old infrastructure.
* slime-autodoc.el (slime-arglist): Adapted to new code. (slime-retrieve-arglist): New. * slime-c-p-c.el (slime-get-arglist): Deleted. (slime-complete-symbol*-fancy-bit): Use `slime-retrieve-arglist'.
* swank-arglists.lisp (print-decoded-arglist): Fix printing of &any and &key parameters. (test-print-arglist): Slightly adapted. * slime-autodoc ([test] autodoc.1): Slightly adapted.
* slime.el (slime-inside-string-p, slime-inside-comment-p) (slime-inside-string-or-comment-p): New. * swank-match.lisp: New file. Contains very simple pattern matcher from the CMU AI archive. * swank-loader.lisp: Compile swank-match.lisp. * swank.lisp: Make SWANK package use new SWANK-MATCH package. * slime-autodoc.el, swank-arglists.lisp: Large parts were rewritten. Autodoc is now able to highlight &key parameters, and parameters in nested arglists. * slime-parse.el, slime-c-p-c.el, slime-highlighting-edits.el: Adapted to changes.
* slime-autodoc.el (slime-autodoc-worthwile-p): New helper. (slime-compute-autodoc-internal): Use it to only perform an RPC request if it's worthwhile to do so. For example, don't do it if the user only typed a single opening parenthesis. * swank-arglists.lisp (variable-desc-for-echo-area): Bind *PRINT-READABLY* to NIL as global variables may contain objects which can't be printed readably.
* contrib/slime-autodoc.el (slime-fontify-string): setup *slime-fontify* buffer without calling (lisp-mode) to avoid turning slime-mode there, which may cause interference.
* contrib/slime-autodoc.el (slime-fontify-string): do not call (slime-autodoc-mode -1), there is no reason to do so. And it won't mess slime-echo-arglist-function, which fixes bug reported by Stanislaw Halik.
Disable slime-autodoc for XEmacs. * slime-autodoc.el, slime-fancy.el: XEmacs's version of eldoc doesn't have the neccessary hooks.
* slime-autodoc.el (slime-arglist): Pass properly formed argument in the rpc call.
* slime-autodoc.el (slime-fontify-string): Deactivate autodoc itself in the temporary help buffer. And deactivate slime's font-lock magic.
* slime-autodoc.el (slime-compute-autodoc-rpc-form): New. Extracted from `slime-autodoc-thing-at-point'. (slime-compute-autodoc-internal): New. Extracted from `slime-compute-autodoc'. (slime-compute-autodoc): Explicitly save match data. (slime-autodoc-hook): New. Run everytime autodoc is computed. * slime-enclosing-context.el (slime-enclosing-bound-macros): New. (slime-find-bound-macros): New, too. * slime-indentation-fu.el, swank-indentation-fu.lisp: New contrib to properly indent &BODY arguments of local macro definitions. Suggested by Lorenz Moesenlechner.
* swank-arglists.lisp (read-conversatively-for-autodoc): Make it understand sharpquote form, so contextual autodoc will work fo `(apply #'foo ...)'. * slime-autodoc.el ([test] autodoc.1): New test case, for the above and more. (slime-check-autodoc-at-point): New helper.
* slime.el: Rename `slime-symbol-name-at-point' to `slime-symbol-at-point'. * slime-autodoc.el, slime-c-p-c.el, slime-enclosing-context.el * slime-package-fu.el, slime-parse.el, slime-presentations.el * slime-xref-browser: Rename `slime-symbol-name-at-point' to `slime-symbol-at-point'
Add DEFMETHOD-style extended arglist display for DEFINE-COMPILER-MACRO. (defun foo (x y &key k1 k2)) (define-compiler-macro foo |) * swank-arglists.lisp ([method] arglist-dispatch): Specialize on (EQL 'DEFINE-COMPILER-MACRO). * slime-parse.el (slime-extended-operator-name-parser-alist): Add entry for DEFINE-COMPILER-MACRO. (slime-make-extended-operator-parser/look-ahead): Collect up /at most/ N sexps. Previously `(defmethod |)' would lead to a form spec of ``("defmethod" ("defmethod"))''. ([test] enclosing-form-specs.1): Test for this.
* slime-autodoc.el: Autodoc is now implemented on top of ElDoc. (Suggested by Madhu.)
* slime-autodoc.el (slime-make-autodoc-swank-form): Do not highlight operator in local arglist display.
Slime-autodoc now also displays arglists of local functions. * swank-arglists.lisp (defslimefun format-arglist-for-echo-area): New RPC. * slime-autodoc.el (slime-make-autodoc-cache-key): New; extracted from slime-autodoc-thing-at-point. (slime-make-autodoc-swank-form): New; partially extracted from slime-autodoc-thing-at-point. Use `slime-autodoc-local-arglist'. (slime-autodoc-local-arglist): New function. (slime-autodoc-thing-at-point): Use the two new functions.
* slime.el (with-lexical-bindings): Removed. Update callers accordingly.
Make autodoc use the correct width of the typeout-window. * slime-autodoc.el (slime-autodoc-dimensions-function): New variable. (slime-autodoc-message-dimensions): Use it. * slime-typeout-frame.el (slime-typeout-autodoc-dimensions): New function. (slime-typeout-frame-init): Use it.
Use slime-require instead of a connected-hook. * slime-autodoc.el (slime-autodoc-on-connect): Deleted.
* slime-autdoc.el (slime-autodoc-message-ok-p): Don't display an arglist when the minibuffer is active.
Separate loading from initialization for many contribs.
Let slime-setup load contribs. * slime.el (slime-setup): Take a list of contribs to load as argument. * slime-autoloads.el (slime-setup): Ditto, but delay the actual loading until slime is loaded. (slime-setup-contribs): New function. Add the necessary hooks when loading some contribs, so that those contribs can be easily loaded with slime-setup. * slime-highlight-edits.el (slime-highlight-edits-mode-on): New function. Add this to slime-mode-hook by default. * slime-autodoc.el (slime-use-autodoc-mode): Change default to t.
* slime-autodoc.el: Add installation notes. * slime-editing-commands.el: Add installation notes. * slime-c-p-c.el (slime-c-p-c-init): Fix typos.
Move compound prefix completion and autodoc to contrib. * swank.lisp (simple-completions): Rewritten for simplicity. (operator-arglist): Rewritten for simplicity. * slime.el (slime-complete-symbol-function): Make simple completion the default. (slime-echo-arglist-function, slime-echo-arglist): New hook.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|