Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Sep 28, 2009
  1. swank-lispworks.lisp (replace-strings-with-symbols): Didn't work on

    sboukarev authored
    non-proper lists. Reported by Madhu.
Commits on Sep 2, 2009
  1. * swank-lispworks.lisp (replace-strings-with-symbols): New function for

    sboukarev authored
    recursively interning and replacing strings in a list.
    (arglist): Replace all strings in arglists with symbols.
    * contrib/swank-arglists.lisp (decode-required-arg): Move LispWorks specific
    code into swank-lispworks.lisp.
Commits on Jul 2, 2009
Commits on Jun 21, 2009
  1. * swank-backend.lisp (frame-source-location): Renamed from

    heller authored
    frame-source-location-for-emacs.  Update callers accordingly.
Commits on Jan 15, 2009
  1. swank-lispworks.lisp: wrapper functions for swank-mop

    msimmons authored
    slot-boundp-using-class, slot-value-using-class and
    slot-makunbound-using-class to account for MOP differences.
Commits on Jan 10, 2009
  1. * swank-backend.lisp (swank-compile-file): Take output-file as

    heller authored
    additional argument.  Update backends accordingly.
    * swank.lisp (*fasl-directory*): New variable.
    (fasl-pathname): New function.
    (compile-file-for-emacs): Use it.
  2. * swank-backend.lisp (set-default-initial-binding): New function.

    heller authored
    * swank.lisp (setup-stream-indirection):  Use it
Commits on Jan 8, 2009
  1. * swank-backend.lisp (swank-compile-string): Pass the

    heller authored
    buffer-file-name to Lisp, not only the directory.
    Update callers accordingly
Commits on Dec 31, 2008
  1. * slime.el ([test] find-definition.2): Also fails for Lispworks.

    heller authored
    ([test] interrupt-at-toplevel, [test] interrupt-in-debugger): Those
    don't work well if there's no REPL thread.
    * swank-backend.lisp (wait-for-input, wait-for-one-stream): Don't
    use PEEK-CHAR because we can't interrupt that cleanly.
    * swank.lisp (simple-serve-requests): Run the REPL inside
    * swank-lispworks.lisp (emacs-connected): Don't install the signal
    handler here ...
    (install-sigint-handler): ... use this instead
Commits on Dec 30, 2008
  1. As of now, `C-u C-c C-c' compiled a function with maximum debug

    trittweiler authored
    	settings (SBCL only.)
    	Now, `M-- C-c C-c' will compile a function with maximum _speed_
    	settings (still SBCL only) --- useful to elicit compiler notes.
    	* slime.el (slime-compilation-debug-level): Renamed to
    	(slime-normalize-optimization-level): Renamed to
    	* swank.lisp (compile-string-for-emacs): Takes a policy now.
    	(compile-multiple-strings-for-emacs): Ditto.
    	* swank-backend.lisp (swank-compile-string): Change :DEBUG key arg
    	to :POLICY.
    	* swank-scl.lisp, swank-openmcl.lisp, swank-lispworks.lisp
    	* swank-ecl.lisp, swank-corman.lisp, swank-cmucl.lisp,
    	* swank-clisp.lisp, swank-allegro.lisp, swank-sbcl.lisp:
    	Changed accordingly.
Commits on Oct 31, 2008
  1. * swank-lispworks.lisp (describe-function): Don't use

    heller authored
    string-upcase on lambda-list-argruments, because not all elements
    must be symbols.
Commits on Oct 19, 2008
  1. * swank.lisp (frame-locals-and-catch-tags): New function.

    heller authored
    Fetch locals and catch tags with a single RPC.
    * slime.el (sldb-frame-details): Use it.
    * swank-backend.lisp (frame-catch-tags): Provide a default
    implementation.  Delete the dummy defs in various backends.
Commits on Oct 17, 2008
  1. * swank-backend.lisp (frame-restartable-p): New function.

    heller authored
    (swank-frame): Deleted. Update implemenetations accordingly.
    (print-frame): Renamed back from print-swank-frame.
    * swank.lisp (backtrace): Don't clutter the backtrace with
    '(:restartable :unknown).  For practical purposes :unknown is the
    same as nil.
    * slime.el (sldb-compute-frame-face): Only accept nil or t for
    the :restartable prop.
Commits on Oct 16, 2008
  1. * swank-lispworks.lisp (with-swank-compilation-unit): Return the

    heller authored
    values of BODY.
    (compile-from-temp-file): Return T on success.
    * swank.lisp (collect-notes): Check return type of
  2. * swank-backend.lisp (swank-compile-file): Return the same

    heller authored
    values as COMPILE-FILE.  Update backends accordingly.
Commits on Oct 4, 2008
  1. UTF-8 support for Lispworks.

    heller authored
    * swank-lispworks.lisp (accept-connection): Use flexi-streams
    for utf-8.
    (make-flexi-stream): New function.
    (*temp-file-format*): New variable
    (compile-from-temp-file): Use it.
Commits on Sep 17, 2008
  1. Adjust positions in files with CRLF-style end-on-line markers.

    heller authored
    * slime.el (slime-eol-conversion-fixup): New function.
    (slime-goto-location-position): Use it.  Also add a new position
    type :offset, so that we don't adjust offsets in strings that were
    sent over the wire (which uses LF eol-convention).
    * swank-abcl.lisp
    * swank-allegro.lisp
    * swank-clisp.lisp
    * swank-cmucl.lisp
    * swank-corman.lisp
    * swank-ecl.lisp
    * swank-lispworks.lisp
    * swank-openmcl.lisp
    * swank-sbcl.lisp
    * swank-scl.lisp: Create :offset style positions where needed.
    * swank-lispworks.lisp (skip-comments): New function.
    (dspec-stream-position): Use it.
Commits on Sep 15, 2008
Commits on Sep 12, 2008
  1. For Lispworks, parse the $LWHOME/lwdoc file.

    heller authored
    * swank-lispworks.lisp (lwdoc, lookup-lwdoc, parse-lwdoc-record):
    New functions.
    (describe-symbol-for-emacs): Use it.
  2. New faces: `sldb-restartable-frame-line-face',

    trittweiler authored
    	The former is the face for frames that are surely restartable, the
    	latter for frames that are surely not restartable. If
    	restartability of a frame cannot be reliably determined, the face
    	`sldb-frame-line-face' is used.
    	At the moment, determination of frame restartability is supported
    	by the SBCL backend only.
    	* slime.el (sldb-frame.string): New.
    	(sldb-frame.number): New.
    	(sldb-frame.plist): New.
    	(sldb-prune-initial-frames): Use them.
    	(sldb-insert-frames): Ditto.
    	(sldb-compute-frame-face): New.
    	(sldb-insert-frame): Use `sldb-compute-frame-face' to insert
    	frames with one of the faces described above.
    	* swank.lisp (defslimefun backtrace): Changed return value; each
    	frame is now accompanied with a PLIST which at the moment can
    	contain :RESTARTABLE NIL/T/:UNKNOWN depending on whether the frame
    	is restartable, or not.
    	* swank-backend.lisp (defstruct swank-frame): New structure.
    	(compute-backtrace): Is now supposed to return a list of SWANK-FRAMEs.
    	(print-frame): Renamed to PRINT-SWANK-FRAME.
    	* swank-sbcl.lisp, swank-cmucl.lisp, swank-lispworks.lisp,
    	* swank-allegro.lisp, swank-scl.lisp, swank-openmcl.lisp,
    	* swank-abcl.lisp, swank-clisp.lisp: Adapted to swank-backend changes.
Commits on Aug 11, 2008
  1. *** empty log message ***

    heller authored
  2. * swank.lisp (wait-for-event): Add timeout argument. This is used

    heller authored
    for :fd-handler and :sigio style where we only process events as
    long we don't block.
    (wait-for-event/event-loop, read-event)
    (decode-message, receive-if): Ditto.
    (process-events): Renamed from read-from-emacs.
    (handle-requests): Renamed from handle-request. Take timeout
    argument.  Update callers.
    (process-available-input): Deleted.
Commits on Aug 9, 2008
  1. Display the "Use default debugger" restart more prominently.

    heller authored
    * swank.lisp (swank-debugger-hook): Bind a user visible restart
    to invoke the native debugger.
    (*global-debugger*): Make this nil by default.
    (sldb-loop): Minor cleanups.
    (sldb-break-with-default-debugger): Invoke the native debugger
    on top of the slime debugger.
    * slime.el (sldb-setup): Always pop to the debugger buffer.
    (sldb-activate): Optionally select the window.
    * swank-sbcl.lisp (sb-thread::get-foreground): Override this
    as the default implementation is unusable for Slime.
    * swank-lispworks.lisp (environment-display-notifier): Just
    return t.
Commits on Aug 8, 2008
  1. Spawn the auto-flush thread in the front end.

    heller authored
    This removes some copy&paste code in various backends.
    * swank.lisp (auto-flush-loop): New function.
    (open-streams): Use it.
    * swank-backend.lisp (make-stream-interactive): Deleted.
Commits on Aug 7, 2008
  1. * swank-allegro.lisp:(receive-if): Periodically check for interrupts.

    heller authored
    * swank-cmucl.lisp, swank-scl.lisp: ditto.
Commits on Aug 6, 2008
  1. Queue interrupts in various places.

    heller authored
    * swank-backend.lisp (*pending-slime-interrupts*): New variable.
    (check-slime-interrupts): New function.
    * swank-lispworks.lisp (receive-if): Use it.
    * swank-sbcl.lisp, swank-openmcl.lisp: Ditto.
    * swank.lisp (*slime-interrupts-enabled*): New variable.
    (with-slime-interrupts, without-slime-interrupts): New macros.
    (invoke-or-queue-interrupt): New function.
    (interrupt-worker-thread, eval-for-emacs, swank-debugger-hook)
    (debug-nth-thread, wait-for-event, read-from-emacs): Use them.
Commits on Aug 5, 2008
  1. * swank-lispworks.lisp (make-stream-interactive): Run our own

    heller authored
    thread to periodically flush streams instead of relying on
Commits on Aug 4, 2008
  1. * swank-gray.lisp (slime-output-stream): Undo last change.

    heller authored
    Make force-output and finish-output do the same.
  2. * swank-gray.lisp (slime-output-stream): Add a slot

    heller authored
    "interactive-p" which should be true for streams which are flushed
    periodically by the Lisp system.  Update the relevant accordingly.
Commits on Aug 3, 2008
  1. Add some flow-control.

    heller authored
    * swank.lisp (make-output-function): Synchronize with Emacs on
    every 100th chunk of output.
    (wait-for-event,wait-for-event/event-loop,event-match-p): New
    functions.  Used to selectively wait for some events and to queue
    the other events.
    (dispatch-event, read-from-socket-io): Tag non-queueable events
    with :call.
    (read-from-control-thread, read-from-emacs): Process
    :call events only; enqueue the others.
    (*log-output*): Don't use synonym-streams here.  Dereference the
    symbol until we get at the real stream.
    (log-event): Escape non-ascii characters more carefully.
    * swank-backend.lisp (receive-if): New function.
    Update backends accordingly. (not yet for ABCL and SCL)
    * slime.el (slime-dispatch-event): Handle ping event.
Commits on Jul 2, 2008
Commits on Apr 17, 2008
  1. C-c C-c with prefix args now uses the maximal debug level. (By Zach B…

    heller authored
    Only implemented for SBCL.
    * slime.el (slime-compile-with-maximum-debug): New variable.
    (slime-compile-defun, slime-compile-region): Use it.
    * swank.lisp (compile-string-for-emacs): Accept new debug
    argument. Update backend accordingly.
Something went wrong with that request. Please try again.