This project is mirrored from https://gitee.com/mirrors/slime.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
- 11 Apr, 2014 14 commits
-
-
Joao Tavora authored
The previous technique for setting *, ** and friends just-in-time didn't work, especially when the inspector was called from the REPL buffer to inspect *. * contrib/swank-repl.lisp (set-repl-variables): New slyfun. (repl-eval): Call SET-REPL-VARIABLES *after* evaluating region. (cherry picked from SLIME commit af64d8b6) Conflicts: contrib/ChangeLog contrib/slime-repl.el contrib/swank-repl.lisp
-
Joao Tavora authored
Previous changes broke compilation for definitions in buffers that don't have files(like *slime-scratch*). Finding definitions in buffers that have a file name that doens't exist in the file-system was also broken. Also WHO-CALLS functionality for top-level forms is unreliable in ACL, be it for temp or other loading mechanisms. For the former, note *TEMP-FILE-MAP* might point to dead buffers and for the latter, there is not enough file info in the .fasl annotations. See http://franz.com/support/documentation/ \ current/doc/cross-reference.htm#in-functions-arg-2. Therefore, this change also deletes the previous attempt by FSPEC-DEFINITION-LOCATIONS to reliably follow :TOP-LEVEL-FORM references.. * swank-allegro.lisp (fspec-definition-locations): Don't attempt to interpret :TOP-LEVEL-FORM fspecs, since file info is always unreliable. * swank-allegro.lisp (compile-from-temp-file): Reinstate recording in *TEMP-FILE-MAP* for all compilations. It is still useful if we haven't saved the buffer or are operating from a file-less buffer, like *slime-scratch* (cherry picked from commit 6b357782) Conflicts: ChangeLog
-
João Távora authored
* swank-allegro.lisp (write-tracking-preamble): New function, rewritten from previous hunk in COMPILE-FROM-TEMP-FILE for clarity. Also adds PATHNAME call which broke the previous approach. (compile-from-temp-file): In Allegro 9.0, make redefinition warnings trigger only once now that compilation and loading from temp files are separate steps. (cherry picked from SLIME commit 63cae7e1) Conflicts: ChangeLog
-
Paulo Madeira authored
Finding definitions compiled with SWANK:SWANK-COMPILE-STRING relied on a hash table mapping temporary file names to buffer names, which broke when the original buffer was closed. A new approach imitate's Franz's own ELI/LEP's and writes a preamble to each temp file that sets the correct values for EXCL::*SOURCE-PATHNAME* and *EXCL::*PARTIAL-SOURCE-FILE-P* pointing to the correct spot in the original file. For strings compiled in buffers with no file name, the previous temp-file-to-buffer mapping is kept. * swank-allegro.lisp (compile-from-temp-file): Use same technique as ELI to store source pathname and position when compiling from file buffers. Don't store buffer mapping for file buffers. Don't prevent redefinition warnings for different source pathnames. (buffer-or-file, find-fspec-location) Don't use buffer mapping for file buffers. (cherry picked from SLIME commit b0fa0dc8) Conflicts: ChangeLog
-
Helmut Eller authored
(cherry picked from SLIME commit 821d0326)
-
Helmut Eller authored
* Makefile (test): New target. (cherry picked from SLIME commit 4203b5f3) Conflicts: ChangeLog Makefile
-
Helmut Eller authored
* Makefile (check): Use ' instead of " to avoid some of the bizarre shell quoting rules. Don't evaluate SELECTOR. (SELECTOR): Extra quoting no longer needed. (cherry picked from SLIME commit 1dbd0bd8) Conflicts: ChangeLog Makefile
-
Helmut Eller authored
* sly.el (sly-complete-restore-window-configuration): Don't use a timer. That was only needed for XEmacs and it was accidentally started multiple times. (cherry picked from SLIME commit 4fff7fa1) Conflicts: ChangeLog sly.el
-
Helmut Eller authored
(cherry picked from SLIME commit 2c8e6a65) Conflicts: ChangeLog sly-tests.el
-
Joao Tavora authored
-
João Távora authored
This behavious was lost after the refactorings of `slime-with-popup-buffer'. * sly.el (sly-recenter): New function. (sldb-show-frame-details, sldb-setup): Use `sly-recenter'. (cherry picked from SLIME commit 9e5520cf) Conflicts: ChangeLog sly.el
-
Joao Tavora authored
This behavious was lost after the refactorings of `slime-with-popup-buffer'. * slime.el (slime-popup-buffer-mode): A SLIME popup buffer is always read-only. (cherry picked from SLIME commit c8b595b2) Conflicts: ChangeLog
-
Paulo Madeira authored
* swank-allegro.lisp (swank-compile-string): Don't bind *default-pathname-defaults*. (cherry picked from SLIME commit fc001b63) Conflicts: ChangeLog
-
João Távora authored
Still a little broken when called from an error that just happened in the REPL itself. * contrib/sly-mrepl.el (sly-mrepl--eval-for-repl): Accept new argument `out-of-band' to eval in channel but in caller's thread. (sldb-copy-down-to-repl): Pass `out-of-band' to `sly-mrepl--eval-for-repl'. * contrib/swank-mrepl.lisp (:compile-toplevel): Import FIND-CHANNEL. (eval-in-mrepl): New function.
-
- 24 Mar, 2014 1 commit
-
-
João Távora authored
* contrib/sly-mrepl.el (sly-mrepl-mode, sly-mrepl--insert-output): Make prompt read-only but inhibit when inserting output.
-
- 21 Mar, 2014 1 commit
-
-
Joao Tavora authored
* sly.el (sly-mode-map): Don't rebind `M-t' * contrib/sly-mrepl.el (sly-mrepl-new): Don't insert prompt here. (sly-mrepl--prompt): deleted. (:prompt): insert prompt here, but check if output is waiting to arrive. (sly-mrepl--prompt): Take prompt argument again. (:evaluation-aborted): Don't insert prompt here. * contrib/swank-mrepl.lisp (drop-unprocessed-events): Send prompt within channel bindings. (mrepl-eval): Reorganize to always send prompt. (read-eval): Don't print (renamed from READ-EVAL-PRINT)
-
- 19 Mar, 2014 7 commits
-
-
Joao Tavora authored
* sly.el (sldb-local-value-face): Make consistent with inspector. (sldb--display-in-prev-sldb-window): Remember to call `display-buffer-record-window'.
-
Joao Tavora authored
* contrib/sly-mrepl.el (sly-mrepl-mode): Set comint.el's history-related variables. (sly-mrepl-new): Read input ring from file. (sly-mrepl--merge-and-save-history): New function. (sly-mrepl--teardown): Call `sly-mrepl--merge-and-save-history'. Try to be nicer when errors happen. * contrib/swank-mrepl.lisp (mrepl-eval): Removed prompt optimization. (mrepl-eval): Replace HANDLER-CASE with HANDLER-BIND, otherwise errors never pop to user. (send-prompt): Always send *PACKAGE*.
-
Joao Tavora authored
* contrib/sly-mrepl.el: Fix top doc. (sly-mrepl): Don't list license and authord in contrib def. (sly-mrepl--prompt): `accept-process-output' here. (:write-values): Not here. (:evaluation-aborted): Print condition. * contrib/swank-mrepl.lisp (listener-channel): Remove DEDICATED slot, add IN and OUT. (initialize-instance): Make IN and OUT here, possibly blocking while waiting for Emacs to connect to OUT. (create-mrepl): Don't open DEDICATED here. (mrepl-eval): Use HANDLER-CASE to catch errors. Always flush streams. (flush-streams): New function. (send-prompt): Just send prompt.
-
João Távora authored
* contrib/sly-mrepl.el (sly-mrepl--output-mark) (sly-mrepl--dedicated-stream): New vars. (sly-mrepl-mode): Place `sly-mrepl--output-mark' and set its "stay" insertion type. (sly-mrepl--insert-output): New function just for inserting output. (sly-mrepl--prompt): Set `sly-mrepl--output-mark' between possible newline and actual prompt. (:write-values): Wait for some process output before prompt. (listener): Use `sly-mrepl--insert-output'. (sly-mrepl-return): Set `sly-mrepl--output-mark' here, too. (sly-mrepl--eval-for-repl): New function. (sly-inspector-copy-down-to-repl): Simplified. (sldb-copy-down-to-repl): Simplified (but broken). (sly-trace-dialog-copy-down-to-repl): Simplified. (sly-mrepl--dedicated-stream-output-filter): Use `sly-mrepl--insert-output'. * contrib/swank-mrepl.lisp (mrepl-eval): save bindings last.
-
João Távora authored
Hopefully they will mingle correctly with the dedicated stream. * swank-mrepl.lisp (initial-listener-env): Redirect the other streams.
-
João Távora authored
Contribs that requires `sly-repl' now require `sly-old-repl' instead.
-
Joao Tavora authored
* sly.el (sly-attempt-connection): Fix minor whitespace. (sly-net-connect): Use `sly--net-connect-counter' (sly--net-connect-counter): New var. * contrib/sly-mrepl.el (sly-mrepl-new): Better naming for processes. Arrange order. (sly-mrepl--prompt): New local variable. (:prompt): This method only sets `sly-mrepl--prompt'. (sly-mrepl--prompt): Takes 0 arguments now. (:write-values): Call `sly-mrepl--prompt'. (sly-mrepl): Correctly find buffer. (sly-mrepl--open-dedicated-stream): Use better stream and buffer names. (sly-mrepl--teardown): Rearrange teardown order. * contrib/swank-mrepl.lisp (:compile-toplevel): Import some more functions from SWANK. (mrepl-eval): Track package, send prompt only if it changed. Send results only after sending prompt. (read-eval-print): Use SWANK:WITH-RETRY-RESTART.
-
- 18 Mar, 2014 5 commits
-
-
Joao Tavora authored
* sly.el (sly-start-lisp, sly-net-connect): Call `set-process-query-on-exit-flag' inline. (sly-set-query-on-exit-flag): Delete it. * swank.lisp (:swank): Export SWANK:AUTHENTICATE-CLIENT and SWANK:*LOOPBACK-INTERFACE*. (spawn-worker-thread, list-threads): Better thread names for workers. * contrib/sly-mrepl.el (sly-mrepl-hook, sly-mrepl-runonce-hook): New hooks. (sly-mrepl-new): Name process slightly better. Set channel buffer and kill-buffer-hook even before ack. Run new hooks when ack'ed from lisp. (sly-mrepl--teardown): Moved to bottom. Delete dedicated stream and its buffer. (:write-string): Call `sly-mrepl--insert' inline. (sly-mrepl--write-string): Deleted. (sly-mrepl--dedicated-stream-output-filter): New function. (sly-mrepl--dedicated-stream-hooks): New hook. (sly-mrepl--open-dedicated-stream): New function. (sly-mrepl--dedicated-stream): New buffer-local var. (:open-dedicated-output-stream): New channel method. * contrib/swank-mrepl.lisp (:compile-toplevel): slight whitespace cleanup. (listener-channel): add slot for dedicated socket. (create-mrepl): Honour SWANK-MREPL::*USE-DEDICATED-OUTPUT-STREAM* before starting to serve requests. (initial-listener-env): Bind *STANDARD-OUTPUT* to channels dedicated socket if it exists. (spawn-listener-thread): Adjust indentation. (*use-dedicated-output-stream*, *dedicated-output-stream-port*) (*dedicated-output-stream-buffering*): New vars. (open-dedicated-output-stream): New function.
-
Joao Tavora authored
* sly-mrepl.el (sly-mrepl-new): Set header-line-format to nil as soon as connection happens. (sly-mrepl): Check `sly-buffer-connection' when looking for a repl for the current connection.
-
Joao Tavora authored
Local channel might be a non-structure, teardown message sending might fail, etc... * contrib/sly-mrepl.el (sly-mrepl--teardown): Ignore errors when tearing down.
-
João Távora authored
* contrib/sly-mrepl.el (sly-mrepl): Add `sly-mrepl-connected-hook' to `sly-connected-hook'. (sly-mrepl-new): Generate a buffer name like old REPL. (sly-mrepl-new): Don't set header line and insert a short banner. (sly-mrepl-connected-hook): New function, hides *inferior-lisp* buffer if it finds it.
-
João Távora authored
* contrib/sly-mrepl.el (:write-result): Keep for SLIME compatibility (sly): New button type (to move to sly.el) (:write-values): Each value written out is a button. * contrib/swank-mrepl.lisp (:inspect): Takes two arguments OBJECT-IDX and VALUE-IDX, uses them to index SWANK-MREPL:*HISTORY* (mrepl-eval): Sends :WRITE-VALUES message (not :WRITE-RESULT) to emacs (read-eval-print): Just MAPCARs SWANK::TO-LINE to each value.
-
- 17 Mar, 2014 9 commits
-
-
Joao Tavora authored
* contrib/sly-mrepl.el (sly-mrepl--result-counter): Experiment with a result counter. (sly-mrepl-mode): Init some more comint vars and the result counter (:write-result): Make a button everytime non-comment output arrives. (:inspect-result): New channel method that opens inspector. (sly-mrepl--write-string): Don't go to process mark. (sly-inspector-copy-down-to-repl, sldb-copy-down-to-repl) (sly-trace-dialog-copy-down-to-repl): Insert newline before sending string. * contrib/swank-mrepl.lisp (*history*): New var. (initial-listener-env): Init it to an adjustable array. (:inspect): New channel method. (read-eval-print): Don't output newlines at the end.
-
Joao Tavora authored
* contrib/sly-c-p-c.el (sly-c-p-c): Don't use `sly-editing-commands'. (sly-complete-symbol*-fancy): Remove. (sly-expand-abbreviations-and-complete): Don't use `sly-complete-symbol*-fancy'. (sly-complete-form): Don't close all parens. * contrib/sly-editing-commands.el: Removed file. * contrib/sly-fancy.el (sly-fancy): Don't require `sly-editing-commands'. * contrib/sly-old-repl.el: Moved from sly-repl.el. * contrib/sly-mrepl.el (sly-mrepl): On load, place copy-down-to-repl functions in other modes map. (sly-mrepl-mode-map): Make proper map. (sly-trace-dialog-copy-down-to-repl): Move it here. * contrib/sly-trace-dialog.el (sly-repl): Don't require sly-repl. (sly-trace-dialog): Don't add anything to `sly-repl-mode-map' (sly-trace-dialog-mode-map): Don't bind M-RET here. (sly-trace-dialog-copy-down-to-repl): Removed.
-
Joao Tavora authored
-
Joao Tavora authored
* contrib/sly-mrepl.el (sly-mrepl-mode): Turn on `sly-mode'.
-
Joao Tavora authored
* sly-autoloads.el (sly-lisp-mode-hook): Autoload `sly-lisp-mode-hook'. (lisp-mode-hook): Add `sly-editing-hook'. * sly.el (sly-setup): Always add `sly-editing-mode' to `lisp-mode-hook'. (sly-lisp-modes): Removed variable. (sly-lisp-mode-hook): Removed. (sly-doc-map, sly-who-map, sly-prefix-map, sly-parent-map) (sly-mode-map, slime-editing-mode-map): Normal maps with defvars. (sly-keys, sly-nop, sly-who-bindings, sly-init-keymaps) (sly-init-keymap, sly-bind-keys): Removed. (sly-pre-command-actions, sly-pre-command-hook) (sly-setup-command-hooks): Removed. (sly-show-arglist): Bring it back. (sly-indent-and-complete-symbol): Use it, instead of `sly-echo-arglist' (sly-inspector-value-face): Removed. (sly-face-inheritance-possible-p): Removed. (sly-inspectable-value-face): New face. (sly-highlight-face, sly-inspector-action-face): Don't use `sly-face-inheritance-possible-p'. (sly-open-inspector, sly-inspector-insert-ispec): Use `sly-face-inheritance-possible-p'. * contrib/sly-fontifying-fu.el (sly-reader-conditional-face): Don't use `sly-face-inheritance-possible-p'. * contrib/sly-repl.el (sly-repl-prompt-face, sly-repl-output-face): Don't use `sly-face-inheritance-possible-p'.
-
Joao Tavora authored
-
João Távora authored
-
João Távora authored
* contrib/sly-mrepl.el Rename all internal variables and functions `sly-mrepl--*'. (sly-mrepl): Pops to buffer if called interactively. (sly-mrepl--send-pending): New functio. (sly-mrepl--send): Store pending requests. (sly-mrepl--pending-requests): New var. (sly-mrepl--expect-sexp-mode): Rename for clarity. (sly-mrepl-new): Send pending requests. (sly-mrepl--teardown): Reorganize for safety.
-
João Távora authored
* sly.el (sly-dispatch-event): Group channel-related events. Accept new `:invalid-channel' event. (sly-close-channel): Improve error message. * swank.lisp (:swank): Export SWANK:STOP-PROCESSING symbol. (process-requests): Catch SWANK:STOP-PROCESSING tag. (thread-for-evaluation): Shoosh compilers. (dispatch-event): Handle invalid channels. (close-channel): New function. (channel-send): Document generic. * contrib/sly-mrepl.el (sly-mrepl-mode): Don't add to `kill-buffer-hook' here. (sly-mrepl-new): Rather here when we're sure to have a remote channel. (sly-mrepl--delete-process): Delete it. (sly-mrepl--teardown): Delete process, teardown remote, close local. * contrib/swank-mrepl.lisp (:compile-toplevel): import SWANK:CLOSE-CHANNEL and SWANK:STOP-PROCESSING. (listener-channel): Use accessors. (initialize-instance): Fix whitespace. (create-mrepl): Give channel a name (drop-unprocessed-events): Add docstring. (spawn-listener-thread): Learn to teardown thread. (:teardown): New channel method. (mrepl-eval): Rewrite env-setting for clarity.
-
- 15 Mar, 2014 1 commit
-
-
João Távora authored
* contrib/sly-mrepl.el: Use lexical-binding. (sly-mrepl-local-channel): new var. (sly-mrepl-mode): Don't setup process in mode function. (sly-mrepl-new): Setup buffer even before backend confirmation. Use pty. Setup header-line-format. (sly-mrepl--delete-process): Delete process on buffer quit. (sly-mrepl-input-sender, sly-mrepl-send-string): silence byte-compiler (sly-new-mrepl): Deleted. (sly-mrepl): Calls `sly-mrepl-new' if it can't find any live repl. * contrib/swank-mrepl.lisp (initial-listener-env): More vars in initial-listener-env. (drop-unprocessed-events): Move up. (mrepl-eval): Set ***, **, *, ///, //, /, +++, ++, + (read-eval-print): Rearrange loop.
-
- 14 Mar, 2014 2 commits
-
-
Joao Tavora authored
* contrib/sly-fuzzy.el (sly-fuzzy): Don't require `sly-repl'.
-
Joao Tavora authored
* swank.lisp (:swank): Organize exports by area. * contrib/sly-mrepl.el (sly-mrepl--process, sly-mrepl--mark): slightly better naming conventions. * contrib/swank-mrepl.lisp: Use SWANK::CHANNEL-THREAD. (initialize-instance): New hacking method, pass channel to to SPAWN-LISTENER-THREAD
-