Stas Boukarev [Sat, 18 Aug 2012 16:34:06 +0000]
* swank-abcl.lisp (find-definitions): Call ext:resolve before
finding definitions, for the symbol may be not autoloaded yet.
Stas Boukarev [Mon, 13 Aug 2012 20:50:34 +0000]
* swank-arglists.lisp (extra-keywords/slots): Check for
slot-definition-initfunction being present before calling
slot-definition-initform.
Stas Boukarev [Sat, 4 Aug 2012 23:48:19 +0000]
* clean up: (signal (make-condition ...)) => (signal ...)
Stas Boukarev [Sat, 4 Aug 2012 23:32:37 +0000]
* swank-sbcl.lisp (call-with-debugging-environment): Use
sb-debug::resolve-stack-top-hint instead of just
sb-debug:*stack-top-hint*, because now it can contain things other
than just frames.
Stas Boukarev [Sat, 4 Aug 2012 22:35:13 +0000]
* swank-arglists.lisp (test-print-arglist): bind
*print-right-margin* to 1000 instead of NIL, because the default
value on ABCL is less than the length of the tested arglist.
Helmut Eller [Fri, 13 Jul 2012 13:52:45 +0000]
* slime.el: Don't compile functions that are now in other files.
Helmut Eller [Tue, 19 Jun 2012 19:46:53 +0000]
* swank-ecl.lisp (wait-for-input): Provide implementation
that doesn't need serve-event.
Stas Boukarev [Tue, 12 Jun 2012 09:25:30 +0000]
* slime.el (slime-changelog-date): Use
(expand-file-name "ChangeLog" slime-path) instead of
(concat slime-path "ChangeLog"), slime-path may not have a
trailing /.
Reported by Paul Sexton (lp#1011935).
Stas Boukarev [Fri, 25 May 2012 01:25:06 +0000]
* slime.el (slime-oneliner): Use minibuffer width instead of the
width of the current frame, minibuffer can be in a separate frame
with a different width.
Patch by Greg Pfeil (lp#1004252).
Christophe Rhodes [Wed, 23 May 2012 20:55:43 +0000]
Add provide in swank-media. Noticed by Cyrus Harmon.
Helmut Eller [Mon, 21 May 2012 08:08:07 +0000]
Reduce dependecy on pre-defined faces.
* slime.el (slime-apropos-symbol, slime-apropos-label): New faces.
(slime-print-apropos): Use them.
Reported by: Daimrod <daimrod@gmail.com>
Helmut Eller [Sat, 12 May 2012 06:34:47 +0000]
* swank-sbcl.lisp (stream-force-output): Undo last few changes.
Helmut Eller [Fri, 11 May 2012 18:08:45 +0000]
* swank-sbcl.lisp (stream-force-output): Use with-world-lock
i.e. with-recursive-lock instead of with-mutex.
* slime.el (sbcl-world-lock): New test.
Helmut Eller [Fri, 11 May 2012 06:52:18 +0000]
* swank-sbcl.lisp (stream-force-output): Don't use with-deadline.
Grab the world-lock instead.
(condition-timed-wait): Use the :timeout argument.
Helmut Eller [Fri, 11 May 2012 06:52:05 +0000]
* swank-backend.lisp (call-with-io-timeout): Not used. Deleted.
* swank-sbcl.lisp (call-with-io-timeout): Deleted.
Helmut Eller [Mon, 7 May 2012 06:10:50 +0000]
Ignore linebreaks for the macroexpand test.
SBCL should now also pass it.
* slime.el (slime-test-macroexpansion=): New function.
([test] macroexpand): Use it.
Helmut Eller [Sun, 6 May 2012 21:19:48 +0000]
* swank-sbcl.lisp (condition-timed-wait): Undo previous change.
The :timeout arg doesn't seem ready for production use.
Helmut Eller [Sun, 6 May 2012 16:16:24 +0000]
* swank-sbcl.lisp (condition-timed-wait): Use the :timeout
argument of sb-thread:condition-wait if supported.
Helmut Eller [Sun, 6 May 2012 16:16:13 +0000]
* swank-sbcl.lisp (with-definition-source): Forgot to commit this
one.
Helmut Eller [Sun, 6 May 2012 16:16:02 +0000]
* swank-allegro.lisp (string-to-utf8): Set the :null-terminate
argument of excl:string-to-octets to nil.
Helmut Eller [Sun, 6 May 2012 15:40:04 +0000]
* swank-backend.lisp (with-struct): Undo damage.
* swank-sbcl.lisp (with-definition-source): New macro.
Helmut Eller [Sun, 6 May 2012 08:51:26 +0000]
* swank.lisp, swank-rpc.lisp: iso-8859-1 is not same as latin-1-unix.
Helmut Eller [Sun, 6 May 2012 08:39:11 +0000]
* slime.el (slime-pprint-eval-region): New command. No keybinding though.
Stas Boukarev [Fri, 4 May 2012 14:34:30 +0000]
* swank-fancy-inspector.lisp (emacs-inspect symbol): On SBCL,
show information about type specifiers.
Nikodemus Siivola [Fri, 4 May 2012 11:16:40 +0000]
sbcl: remove MERGE-TAIL-CALLS proclamation
Stas Boukarev [Thu, 3 May 2012 15:59:06 +0000]
Remove debugging code.
Stas Boukarev [Thu, 3 May 2012 15:58:39 +0000]
Simplify :buffer-and-file handling.
Stas Boukarev [Thu, 3 May 2012 15:49:17 +0000]
* slime.el (slime-goto-source-location): Allow for
:buffer-and-file locations, prefer buffer if the buffer exists.
* swank-sbcl.lisp (definition-source-for-emacs): Send
:buffer-and-file when both are available.
(quit-lisp): Use sb-ext:exit when it's present.
Stas Boukarev [Thu, 3 May 2012 14:28:17 +0000]
* swank-sbcl.lisp (quit-lisp): Use sb-ext:exit when it's present.
Stas Boukarev [Thu, 3 May 2012 14:12:23 +0000]
* swank-sbcl.lisp (definition-source-for-emacs): Prefer :file over
:buffer, because the buffer can be killed in the mean time and the
silly "No buffer named x.lisp" would be displayed.
Stas Boukarev [Thu, 3 May 2012 07:44:54 +0000]
* swank.lisp (find-definitions-find-symbol): Put back accidentally
removed with-buffer-syntax.
Stas Boukarev [Wed, 2 May 2012 17:33:16 +0000]
* swank.lisp (*find-definitions-right-trim*)
(*find-definitions-left-trim*): New variables. ",:." and "#:"
default values.
(find-definitions-for-emacs): Trim names with using the above
variables when a symbol is not found.
Stas Boukarev [Tue, 1 May 2012 10:07:34 +0000]
* slime.el (slime-xrefs-for-notes): Format location in a proper
way.
Reported by Max Mikhanosha.
Nikodemus Siivola [Fri, 27 Apr 2012 14:57:59 +0000]
sbcl: fix lisp-source-location
Douglas Crosher [Tue, 24 Apr 2012 11:12:14 +0000]
* Use #\; to separate the file options.
Douglas Crosher [Tue, 24 Apr 2012 11:08:13 +0000]
* create-socket: correct variable name typo.
Christophe Rhodes [Mon, 23 Apr 2012 16:32:52 +0000]
Indirect through a variable in slime-operator-before-point.
I could write about how this is necessary given the reprogrammability
of the CL reader, but honestly this is motivated by trying to get arglist
display in the minibuffer for R. I'll be glad if this is useful for (real)
Lisp programmers too.
Juan Jose Garcia Ripoll [Fri, 20 Apr 2012 21:58:18 +0000]
In swank-ecl.lisp, import compute-applicable-methods-using-classes when its fboundp (ECL 12.5.1 will provide it).
Nikodemus Siivola [Fri, 20 Apr 2012 12:45:28 +0000]
sbcl: workaround for auto-flush thread deadlocks, take II
Occasionally auto-flush thread could deadlock with a thread doing
compilation:
T1: grabs world-lock
T2: decides to flush, grabs stream lock
T1: needs to do output (compiler note, etc), waits on the stream lock
T2: needs the world-lock for a while (PCL dispatch machinery setup, etc)
*boink*
This is an SBCL issue, no mistake about it -- but sorting out the world-lock
handling is going to take a while, and sticking a deadline around the
FINISH-OUTPUT call avoids the issue.
In this iteration the change is limited to swank-sbcl.lisp, making it
hopefully non-intrusive enough to stay in.
Nikodemus Siivola [Fri, 20 Apr 2012 12:43:04 +0000]
sbcl: SWANK-VALUE to make it nicer to refer to values of SWANK symbols
Helmut Eller [Fri, 20 Apr 2012 05:54:21 +0000]
Prettier arglists.
* swank-mit-scheme.scm (swank:operator-arglist): Remove trailing
newlines.
Juan Jose Garcia Ripoll [Fri, 13 Apr 2012 22:50:12 +0000]
In MAKE-LOCK (swank-ecl.lisp) make it explicit the need for recursive locks.
Nikodemus Siivola [Fri, 13 Apr 2012 16:16:11 +0000]
slime-indentation: don't indent non-lists as if they were lambda-lists
Not even if they appear where a lambda-list is expected.
Makes TENTATIVE-DEFUN logic more correct for things like
(define-foo name
:option1 bar
:option2 quux)
which previously indented as
(define-foo name
:option1 bar
:option2 quux)
.
Nikodemus Siivola [Fri, 13 Apr 2012 16:15:40 +0000]
slime-indentation: correct indentation for &AUX value forms in lambda-lists
Nikodemus Siivola [Fri, 13 Apr 2012 16:14:58 +0000]
slime-indentation: fix long lines
Helmut Eller [Wed, 11 Apr 2012 11:39:03 +0000]
* slime.el ([test] utf-8-source): Use the encoded byte sequence of
the Unicode string.
Helmut Eller [Wed, 11 Apr 2012 11:38:56 +0000]
* slime.el ([test] utf-8-source): Use the encoded byte sequence of
the Unicode string.
Stas Boukarev [Tue, 10 Apr 2012 17:52:57 +0000]
* slime.el (def-slime-test utf-8-source): Define only when
(and (featurep 'emacs) (>= emacs-major-version 23)).
Stas Boukarev [Tue, 10 Apr 2012 11:33:28 +0000]
* slime.el (def-slime-test utf-8-source): Another try at fixing
utf8 literals in code.
Stas Boukarev [Mon, 9 Apr 2012 13:50:04 +0000]
* slime.el (def-slime-test utf-8-source): Remove literal Unicode
characters in the form of \xFFFF, it causes problems for some
people.
Helmut Eller [Sat, 7 Apr 2012 10:23:39 +0000]
Even more long line breaking.
Helmut Eller [Sat, 7 Apr 2012 09:35:42 +0000]
More long line fixes.
Helmut Eller [Sat, 7 Apr 2012 08:19:32 +0000]
Fix long lines.
* swank.lisp:
* slime.el:
* ChangeLog:
Helmut Eller [Sat, 7 Apr 2012 06:14:48 +0000]
*** empty log message ***
Stas Boukarev [Fri, 6 Apr 2012 20:04:34 +0000]
* swank.lisp (interrupt-worker-thread): Interrupt the REPL thread if
there are no threads found. Send Emacs an error message if no
threads are found at all.
Stas Boukarev [Fri, 6 Apr 2012 18:08:30 +0000]
* swank-fancy-inspector.lisp (format-iso8601-time): Add 1 to the
time-zone if DST value of decode-universal-time is T.
Nikodemus Siivola [Wed, 4 Apr 2012 12:04:42 +0000]
slime-indentation: identify initial-value-forms in lambda-lists
...and indent them as regular code, not as lambda-lists.
Nikodemus Siivola [Fri, 30 Mar 2012 14:54:46 +0000]
sbcl: fix bug introduced two commits ago
SWANK package not there yet when swank-sbcl.lisp is loaded.
Nikodemus Siivola [Fri, 30 Mar 2012 10:40:21 +0000]
slime-indentation: fix indentation of (foo ;; comment\n...
(foo ;; Deal with bar
(bar)
;; Deal with quux
(quux))
instead of
(foo ;; Deal with bar
(bar)
;; Deal with quux
(quux))
Nikodemus Siivola [Fri, 30 Mar 2012 09:45:00 +0000]
sbcl: make STEP friendlier when SBCL gives the source form for the initial form
...right now it doesn't but next week it will -- and then the initial
form shown would be useless.
Helmut Eller [Mon, 26 Mar 2012 15:36:50 +0000]
* slime.el (utf-8-source): XEmacs has no set-buffer-multibyte.
(slime-create-test-results-buffer): Set file-coding-system.
Helmut Eller [Mon, 26 Mar 2012 15:10:38 +0000]
* slime.el (utf-8-source): Bind slime-load-failed-fasl.
Helmut Eller [Mon, 26 Mar 2012 15:10:32 +0000]
* swank-lispworks.lisp (swank-compile-string): Don't include the
source-string in the dspec::*location*. As LW has the habbit to
print the entire *location* on redefinition the source-string
would causes troubles for the test case.
Helmut Eller [Mon, 26 Mar 2012 15:10:19 +0000]
* swank-sbcl.lisp (swank-compile-string): Use utf8.
Helmut Eller [Mon, 26 Mar 2012 15:10:08 +0000]
* swank-cmucl.lisp (swank-compile-file): Use external-format arg.
Helmut Eller [Mon, 26 Mar 2012 15:09:57 +0000]
* swank-ccl.lisp (swank-compile-string, compile-temp-file): Use utf8.
Helmut Eller [Mon, 26 Mar 2012 15:09:46 +0000]
* slime.el (utf-8-source): New test case.
Stas Boukarev [Mon, 19 Mar 2012 14:27:04 +0000]
* contrib/swank-arglists.lisp (compute-enriched-decoded-arglist): Add
arglist display for MULTIPLE-VALUE-CALL, the same as with APPLY.
Helmut Eller [Wed, 14 Mar 2012 17:13:26 +0000]
Use Unix-EOL convention even on Windows.
* swank-allegro.lisp (string-to-utf8, utf8-to-string): Use
excl:crlf-base-ef.
* swank-lispworks.lisp (string-to-utf8, utf8-to-string): Use
'(:utf-8 :eol-style :lf)
Helmut Eller [Wed, 14 Mar 2012 17:13:15 +0000]
* swank-kawa.scm (%macroexpand): Use Kawa's syntaxutils.
Raymond Toy [Sun, 11 Mar 2012 18:35:52 +0000]
Fix compiler warning about inhibit-warnings and use
find-external-format to compile and load the utf-8 format if needed.
Stas Boukarev [Sat, 10 Mar 2012 00:04:12 +0000]
swank-motd.lisp, swank-hyperdoc.lisp: Add provide.
Stas Boukarev [Sat, 10 Mar 2012 00:00:19 +0000]
2012-03-09 Stas Boukarev <stassats@gmail.com>
* swank-clipboard.lisp: Add provide.
Stas Boukarev [Thu, 8 Mar 2012 03:04:48 +0000]
* swank-arglists.lisp (print-decoded-arglist): When the source of
the arglist is a local definition from FLET, some parts may be
represented as ARGLIST-DUMMY, handle them.
Helmut Eller [Tue, 6 Mar 2012 22:04:21 +0000]
* swank-ccl.lisp: If 'xref is not provided warn about it but continue.
Helmut Eller [Tue, 6 Mar 2012 21:42:10 +0000]
Fix SBCL backend for Windows.
* swank-sbcl.lisp (fd-stream-input-buffer-empty-p): Restore it.
Helmut Eller [Tue, 6 Mar 2012 20:55:19 +0000]
* swank-kawa.scm (module-method>meth-ref): Slightly better
heuristic for vararg functions.
Helmut Eller [Tue, 6 Mar 2012 20:55:13 +0000]
Add missing provide.
* swank-repl.lisp
* swank-util.lisp
* swank-mrepl.lisp
* swank-snapshot.lisp
Helmut Eller [Tue, 6 Mar 2012 20:55:07 +0000]
* swank.lisp (swank-require): Ensure that provide as called.
Stas Boukarev [Tue, 6 Mar 2012 01:47:49 +0000]
* contrib/slime-package-fu.el (slime-export-save-file): New variable, when
set to T saves package.lisp after each modification. Defaults to NIL.
Stas Boukarev [Tue, 14 Feb 2012 16:46:33 +0000]
Fix ChangeLog typo.
Stas Boukarev [Sun, 12 Feb 2012 17:00:46 +0000]
* swank-ecl.lisp (accept-connection): Use the proper element-type
for the stream.
Stas Boukarev [Sun, 12 Feb 2012 15:38:06 +0000]
* swank-clisp.lisp (c-error): The number of parameters to
sys::c-warn was changed, accommodate both versions.
Martin Simmons [Tue, 7 Feb 2012 15:48:15 +0000]
swank-lispworks.lisp (dspec-file-position): Fall back to regexp
search if dspec-stream-position gets an error.
Helmut Eller [Fri, 6 Jan 2012 09:57:15 +0000]
* swank-mrepl.lisp (send-prompt): Fix use of OR.
Reported by Mark H. David.
Helmut Eller [Fri, 6 Jan 2012 09:02:43 +0000]
Add a "sentinel thread" to protect access to global lists.
* swank.lisp (start-sentinel, sentinel, send-to-sentinel)
(sentinel-serve, sentinel-stop-server, sentinel-maybe-exit): New.
(make-connection, close-connection, setup-server, stop-server):
Use the sentinel.
(close-connection%): Factored out.
* swank-backend.lisp (register-thread, find-registered): New.
* swank-allegro.lisp: Implement it.
* swank-ccl.lisp:
* swank-lispworks.lisp:
* swank-sbcl.lisp:
Stas Boukarev [Mon, 2 Jan 2012 04:20:52 +0000]
* swank-loader.lisp (lisp-version-string): Append -no-threads to
SBCL without threads.
Nikodemus Siivola [Fri, 30 Dec 2011 17:10:13 +0000]
slime-indentation: better treatment of feature expressions
Particularly interaction with keyword arguments.
Stas Boukarev [Sat, 24 Dec 2011 17:45:24 +0000]
* slime.el (slime-init-command): Don't call
`slime-to-lisp-filename', the lisp is not yet connected and if
there's another connection it will use the wrong translation.
* contrib/slime-tramp.el (slime-find-filename-translators): Don't signal
an error if there's no translators for a hostname, just use 'identity.
Stas Boukarev [Sat, 24 Dec 2011 05:01:25 +0000]
* swank.lisp (throw-to-toplevel): If *sldb-quit-restart* is not
found, try to invoke the last restart, which usually is a
top-level abort restart. This is useful when the debugger is
invoked from a non-slime thread.
Stas Boukarev [Fri, 23 Dec 2011 20:03:15 +0000]
* slime.el (slime-cycle-connections): Add
`slime-cycle-connections-hook', to be used by slime-repl.
* contrib/slime-repl.el (slime-change-repl-to-default-connection): New
function.
Changes the current REPL to the REPL of the default connection. If
the current buffer is not a REPL, don't do anything.
Put it into `slime-cycle-connections-hook', so that when
connections are cycled through it will change the currently
displayed REPL.
Stas Boukarev [Wed, 21 Dec 2011 16:19:52 +0000]
* swank-sbcl.lisp (input-ready-p): Don't use
sb-impl::fd-stream-fd-type if it's not present.
sboukarev [Mon, 12 Dec 2011 06:59:26 +0000]
* slime.el (slime-compile-region): Run slime-flash-region
directly, not from `slime-before-compile-functions', which is run
also for C-c C-k.
Helmut Eller [Sat, 10 Dec 2011 12:58:42 +0000]
Fix some typos.
Helmut Eller [Sat, 10 Dec 2011 12:34:09 +0000]
* swank.lisp (auto-flush-loop): Don't use call-with-io-timeout.
Removing it had no effect on the number of failed tests. If you
want it back, first create a test case to demonstrate the problem.
* swank-backend.lisp: Mention that locks should only be used in
swank-gray.lisp.
Helmut Eller [Sat, 10 Dec 2011 12:33:57 +0000]
Don't call init-global-stream-redirection in *after-init-hook*.
*after-init-hook* may be called before the contrib was loaded.
* swank-repl.lisp (maybe-redirect-global-io): Call
init-global-stream-redirection here instead.
Helmut Eller [Sat, 10 Dec 2011 12:33:52 +0000]
* swank.lisp: Move global io-redirection contrib/slime-repl.lisp.
Helmut Eller [Sat, 10 Dec 2011 12:33:40 +0000]
Make *active-threads* a slot of the connection struct.
* swank.lisp (*active-threads*): Deleted
([struct] multithreaded-connection): New slot active-threads.
(find-worker-thread, interrupt-worker-thread)
(thread-for-evaluation): Update accordingly.
(add-active-thread, remove-active-thread): New helpers.
Helmut Eller [Sat, 10 Dec 2011 12:33:28 +0000]
* swank-loader.lisp (delete-stale-contrib-fasl-files): New.
(compile-contribs): Use it.
Helmut Eller [Fri, 9 Dec 2011 11:02:05 +0000]
Create an extra thread for the indentation cache.
* swank.lisp (indentation-cache-loop): New.
([struct] multithreaded-connection): New slot
indentation-cache-thread.
(control-thread, cleanup-connection-threads): Create/kill it.
(send-to-indentation-cache): New function.
(update-indentation-information, sync-indentation-to-emacs): Use
it.
(perform-indentation-update, update-indentation/delta-for-emacs):
Add package as argument; that used to be *buffer-package. Can
again be simpler as the indentation-cache-thread doesn't share the
cache with others.
(handle-indentation-cache-request, symbol-packages): New helpers.