Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
slime-repl.el (slime-repl-sexp-at-point): New function ; similar to slime-sexp-at-point but ignore repl prompt text. (slime-repl-inspect): New function; similar to slime-inspect but default value is computed via slime-repl-sexp-at-point and not slime-sexp-at-point. (slime-repl-mode-map): Bind slime-repl-inspect it C-c I
* slime-repl.el (slime-open-stream-to-lisp): Use current connection host instead of slime-lisp-host.
Rename slime-repl-print-right-margin-follows-window to slime-repl-auto-right-margin.
* slime-repl.el (slime-repl-print-right-margin-follows-window): New variable, defaults to NIL. (slime-repl-eval-string): Respect the above variable. * swank-repl.lisp (listener-eval): New keyword parameter, window-width, if supplied binds *print-right-margin* to its value. Based on a patch by Marco Baringer.
* 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.
* swank-repl.lisp: New file. * slime-repl.el (slime-repl): Add swank-dependecy.
* slime-repl.el (slime-repl-send-input): Don't put `read-only' property on an overlay, overlays don't support it.
* swank.lisp (create-server): Remove coding-system argument. ([defstruct] connection): Remove coding-system slot. (connection.external-format, *coding-system*): Deleted. (make-connection, start-server, create-server, setup-server) (accept-connections): Drop coding-system arg. (connection-info): Return supported coding systems. (create-repl, open-dedicated-output-stream) (open-streams, initialize-streams-for-connection): Add coding-system arg. * slime.el (slime-init-command): Ignore the coding-system arg. (slime-connection-coding-systems): New connection variable. (slime-set-connection-info): Set it.
* slime-repl.el (slime-open-stream-to-lisp): Convert "utf-8-unix" to 'utf-8-unix.
* swank.lisp (open-dedicated-output-stream): Open a stream with the right coding system. Change (:open-dedicated-output-stream port) message to (:open-dedicated-output-stream port coding-system), because Emacs can no longer determine the coding system based on the main network streams since they are binary now. * contrib/slime-repl.el (slime-open-stream-to-lisp): Set the process coding system to the right coding system.
* slime-repl.el (slime-repl-clear-output): Fix clearing output when there's something entered after the prompt.
* swank.lisp (clear-repl-variables): New functions, clears *, /, and + variables. * contrib/slime-repl.el (slime-clear-repl-variables): New function, clears *, /, and + variables. (slime-repl-clear-buffer-hook): Add `slime-clear-repl-variables' to it, now C-c M-o clears variables, allowing bound objects to be GCed.
* slime-repl.el (slime-repl-set-package): Don't redisplay the prompt if it doesn't change.
slime-repl: new command: slime-eval-last-expression-in-repl For sending forms from other buffers to repl for evaluation. Default binding is C-c C-j. With prefix argument doesn't switch REPL back the original package.
* slime-repl.el (slime-repl-shortcut-help): Don't make ? an alias for help, ? is bound to minibuffer-completion-help, and you can't enter it.
* slime-repl.el (slime-repl-history-pattern): Match \t too, besides \ and \n.
* swank.lisp (eval-for-emacs): Send (:abort condition) where condition is a condition which was aborted instead of just (:abort). * slime.el: Handle the above change. * contrib/slime-repl.el: Handle (:abort condition) message from lisp.
* slime-repl.el (slime-search-property-change): XEmacs may return nil on previous/next-single-char-property-change, don't pass it to goto-char.
* slime-repl.el (slime-repl-mode-end-of-defun) (slime-repl-mode-beginning-of-defun): Take an optional argument which specifies how many defuns it should move. GNU Emacs catches wrong-number-of-arguments condition and does this by itself, but XEmacs doesn't.
* slime-repl.el: Specify :on-unload action.
* slime-repl.el (slime-call-defun): Handle setf-functions.
Call provide at the end of the file. * slime-c-p-c.el slime-fancy-inspector.el slime-fancy.el slime-fontifying-fu.el slime-fuzzy.el slime-package-fu.el slime-parse.el slime-presentations.el slime-references.el slime-repl.el slime-scratch.el:
* slime-repl.el (slime-list-repl-short-cuts): Don't scroll to the bottom, don't error if a shortcut has no documentation.
* 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.
* slime-presentations.el (slime-presentation-write): Reuse functions from slime-repl. This fixes spurious point jumps. * slime-repl.el (slime-repl-show-maximum-output): Don't search for a window of the buffer if the current window already displays it. (slime-with-output-end-mark): Removed, unused.
* Make buffer names more consistent. Patch by Leo Liu.
* contrib/slime-repl.el (slime-repl-update-banner): Use slime-move-point instead of goto-char alone, ensuring that the point is moved even if the window isn't currently selected. * slime.el (slime-restart-sentinel): Don't pop to the inferior buffer, since this command is usually run either from *inferior-lisp* buffer or from REPL, it makes sense to reuse current window instead of messing up window configuration. (slime-move-point): New function, moves point in a buffer and its window.
* 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.
* contrib/slime-repl.el (slime-call-defun): When on defclass insert (make-instance 'name). * slime.el (slime-parse-context): Add defclass.
* contrib/slime-repl.el (slime-call-defun): Work also on defvar/defparameter. * slime.el (slime-extract-context): Add defvar and defparameter.
* slime-repl.el (slime-repl-mode): Don't do (use-local-map slime-repl-mode-map) because it will be used through slime-repl-map-mode minor mode. This fixes double entries in the menu bar. Reported by RaceCondition from #lisp.
* contrib/slime-repl.el: Revert the previous change because it didn't work in some cases. (slime-repl-map-mode): New minor mode which sole purpose is to enable `slime-repl-mode-map'. (slime-repl-mode): Enable `slime-repl-map-mode' after enabling `slime-editing-map'. This will finally allow `slime-repl-mode-map' to take precedence of `slime-editing-map'.
* contrib/slime-repl.el (slime-repl-mode-map): Use both `slime-editing-map' and `lisp-mode-map' as parent keymaps. (slime-repl-mode): Don't use `slime-editing-mode' because its keymap is already used above. That way `slime-repl-mode-map' takes precedence of. `slime-editing-map'.
* contrib/slime-repl.el (sldb-insert-frame-call-to-repl): New function for inserting a call to a frame into the REPL. Bound to C-y in SLDB. * swank-backend.lisp (frame-call): New function. Returns a string representing a call to the entry point of a frame. * swank-ccl.lisp (frame-call): Implementation of the above. * swank-sbcl.lisp (frame-call): Ditto.
* slime.el (slime-editing-mode): New minor mode for use in the REPL. * slime-repl.el (slime-repl-mode-map): Don't copy slime-parent-map. Instead ... (slime-repl-mode): ... enable slime-editing-mode.
* slime-repl.el (slime-repl-previous-matching-input) (slime-repl-next-matching-input): Read input by means of `slime-read-from-minibuffer' so TAB will complete symbols for us.
contrib/slime-repl.el: (slime-repl-history-remove-duplicates): New variable, if set to T previous matching history entries are removed before appending a new item. Default value is NIL. (slime-repl-history-trim-whitespaces): New variable, when T remove whitespaces at the beginning and end of a new history item. Default value is NIL. (slime-repl-add-to-input-history): Implement behaviour of the variables above. (slime-string-trim): New function, works like cl:string-trim.
contrib/slime-repl.el: (slime-repl-position-in-history): Add new optional parameter `exclude-string'. (slime-repl-history-replace): Don't replace history item if it's exactly matching the current input, search for the next match instead.
* slime.el (slime-current-package): Move REPL stuff to contrib. * slime-repl.el (slime-repl-find-buffer-package): New function. (slime-repl-init): Initialize slime-find-buffer-package-function.
* contrib/slime-repl.el (slime-repl-set-package): Don't double unfinished input and don't move point if it's inside the input area.
contrib/slime-repl.el (slime-sync-package-and-default-directory): Better checking for packages.
* slime-repl.el (slime-sync-package-and-default-directory): Do not try to set package if it doesn't exists.
* slime-repl.el (slime-repl-clear-buffer): Don't change cursor position if is already at the prompt.
* slime-repl.el (slime-sync-package-and-default-directory): Don't change package if it's unknown. Use existing functions for changing package and directory.
* slime.el (slime-beginning-of-symbol): Limit searching to 2000 characters.
* slime-repl.el (slime-repl-disconnect): Disconnect current connection. (slime-repl-disconnect-all): New; disconnect all connections. Patch by Stas Boukarev.
* slime-repl.el (with-canonicalized-slime-repl-buffer): XEmacs chokes on symbol-names with an initial dot. Patch by François-René Rideau.
* slime-repl.el (slime-inspector-mode-map): Add binding for M-RET. (slime-inspector-copy-down-to-repl): Moved here from slime.el.
* slime-repl.el (slime-repl-remove-hooks): New function.
* slime-repl.el (slime-repl-event-hook-function): Handle :read-abort. Reported by Stas Boukarev.
* slime-repl.el ([test] interrupt-in-blocking-read): Wrap `with-canonicalized-slime-repl-buffer' around the whole test. Otherwise the changed repl prompt doesn't extend to the actual `slime-test-expect'.
* slime-repl.el (slime-check-buffer-contents): Fix typo. (with-canonicalized-slime-repl-buffer): Refactored from test cases. A lot of test cases implemented this somewhat wrongly. Making them fail when not called from the SWANK package. ([test] repl-test): Use above. ([test] repl-return): Ditto. ([test] repl-read): Ditto. ([test] repl-read-lines): Ditto. ([test] repl-type-ahead): Ditto. ([test] interrupt-in-blocking-read): Ditto.
* slime-repl.el (slime-repl-connected-hook-function): Bind slime-current-thread to avoid problems with killed threads.
* slime-repl.el ([shortcut] quit): Quit the connection before killing the REPL buffer; otherwise the default connection is selected rather than the connection of the REPL buffer. Reported by Stas Boukarev.
* slime-repl.el (slime-repl-mode-map): Use the key bindings from `slime-editing-keys'.
* slime-repl.el (slime-repl-clear-buffer): Call recenter with t as argument (to avoid erasing the entire frame).
* slime.el (slime-keys): Remove the binding for C-c C-i. M-TAB can also be pressed with M-C-i which is probably not taken by the window manager. ESC TAB would also work. Maybe we should reuse C-c C-i for slime-inspect. Move C-c C-y to slime-repl.e. Remove C-c C-f: it's already on C-c C-d f. Remove C-c M-0: slime-restore-window-configuration doesn't exist. Remove M-g: slime-quit doesn't work since ages. * slime-repl.el (slime-mode-map): Bind C-c~ not ~. Reported by James Wright. (slime-repl-mode-map): Bind M-TAB. Remove C-c C-k: compiling the REPL buffer doesn't work anyway. Remove C-cC-b, C-c:, C-cE, C-cC-d, C-cC-w, C-M-x, C-cC-t, C-cC-l: those are already bound in slime-parent-map.
Use keymap inheritance to share bindings in various modes. * slime.el (slime-parent-map): New keymap. (slime-mode-map, slime-popup-buffer-mode-map, sldb-mode-map) (slime-inspector-mode-map): Use it. (slime-parent-bindings, slime-prefix-bindings): New variables. (slime-prefix-key, slime-define-key): Deleted. Update contribs accordinly.
* slime-repl.el, slime-mrepl.el: Byte-compile the output functions.
* slime-repl.lisp (slime-repl-set-package): Set `slime-buffer-package' to the new package name. Otherwise, a ,!p repl command is not properly taken into account resulting in misbehaviour of completion and arglist display.
(slime-repl-connected-hook-function): Don't use multiple-value-setq.
Move slime-lisp-package to slime-repl.el * swank.lisp (create-repl): Return initial package and prompt. * slime-repl.el (slime-repl-event-hook-function): Handle :new-package events here. (slime-output-buffer): Initialize slime-buffer-package. (slime-repl-connected-hook-function): Initialize slime-lisp-package.
* slime-repl.el (slime-repl-quit): Kill the repl buffer before quitting. Reported by Volkan YAZICI.
* slime-repl.el (slime-repl-connected-hook-function): Create a repl thread before creating a repl buffer.
* swank.lisp (connection.env): New slot. To hold dynamic variable bindings for this connection. (with-io-redirection): Use it. (create-repl): New function. Currently only redirects IO for the connection. Could potentially be used to create multiple listeners, each with a set of streams and corresponding buffers. (*redirect-io*, maybe-call-with-io-redirection) (call-with-redirected-io): Deleted. * slime-repl.el (slime-repl-connected-hook-function): Create a repl at startup. Well, initialize stream redirection.
Move i/o related event handlers to slime-repl.el. * slime-repl.el (slime-repl-event-hook-function): Handle some events here.
Move most of the REPL mode to contrib. Disable some commands that depend on the existence of a REPL buffer.
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|