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.
  1. 19 Mar, 2014 1 commit
    • Joao Tavora's avatar
      Some stability fixes for sly-mrepl · 769f391d
      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.
      769f391d
  2. 18 Mar, 2014 5 commits
    • Joao Tavora's avatar
      Dedicated output streams for sly-mrepl (slightly broken still) · 9d7cdd72
      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.
      9d7cdd72
    • Joao Tavora's avatar
      Fixes to sly-mrepl · faa1fa0e
      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.
      faa1fa0e
    • Joao Tavora's avatar
      Safely tear down mREPL buffers · c353d4d7
      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.
      c353d4d7
    • João Távora's avatar
      Launch a mREPL when connected · 13224d56
      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.
      13224d56
    • João Távora's avatar
      Consolidate sly-mrepl button behaviour slightly · 7bf6c72f
      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.
      7bf6c72f
  3. 17 Mar, 2014 9 commits
    • Joao Tavora's avatar
      Spectacularly broken attempt at inspectable REPL objects · 1edebf70
      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.
      1edebf70
    • Joao Tavora's avatar
      More cleanup, remove inter-dependencies between contribs · 420a9c95
      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.
      420a9c95
    • Joao Tavora's avatar
      Rework README.md · 4fb10053
      Joao Tavora authored
      4fb10053
    • Joao Tavora's avatar
      Turn on `sly-mode' in `sly-mrepl-mode' · df310e91
      Joao Tavora authored
      * contrib/sly-mrepl.el (sly-mrepl-mode): Turn on `sly-mode'.
      df310e91
    • Joao Tavora's avatar
      Big cleanup in sly.el · ec192073
      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'.
      ec192073
    • Joao Tavora's avatar
      Remove everything presentation-related · aca95e40
      Joao Tavora authored
      aca95e40
    • João Távora's avatar
      37a3ceec
    • João Távora's avatar
      Some intermediate `sly-mrepl' cleanup · ea2bacd9
      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.
      ea2bacd9
    • João Távora's avatar
      Improve channel teardown for sly-mrepl · 7df61bfe
      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.
      7df61bfe
  4. 15 Mar, 2014 1 commit
    • João Távora's avatar
      Improve sly-mrepl slightly. · bfcdecd3
      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.
      bfcdecd3
  5. 14 Mar, 2014 4 commits
  6. 13 Mar, 2014 2 commits
    • Joao Tavora's avatar
      All autodoc'ing uses contrib/slime-autodoc.el · 488cea6a
      Joao Tavora authored
      The simple arglists version on the sly.el side was removed. The SWANK
      interface stays, for backward/SLIME compatibility and for whoever
      wants to use it.
      
      * sly.el (sly-space, sly-echo-arglist-function, sly-echo-arglist)
      (sly-show-arglist, sly-operator-before-point-function)
      (sly-operator-before-point, sly-lisp-operator-before-point): Removed.
      
      * contrib/sly-autodoc.el: set lexical-binding to t.
      (sly-autodoc): Use just `sly-autodoc-mode'
      (sly-use-autodoc-mode): Remove this defcustom.
      (sly-autodoc--make-rpc-form, sly-autodoc--last-buffer-form)
      (sly-autodoc--last-autodoc, sly-autodoc--format): Rename.
      (sly-autodoc-mode): Use `define-minor-mode
      (sly-autodoc-maybe-enable): Removed.
      (eldoc-display-message-no-interference-p): `sly-bind-keys' call
      was kinda gross.
      488cea6a
    • Joao Tavora's avatar
      Removed sly-cheat-sheet. There are alternatives, like the manual. · 52a09dde
      Joao Tavora authored
      * sly.el (sly-cheat-sheet-table): Removed.
      (sly-cheat-sheet): Removed.
      52a09dde
  7. 12 Mar, 2014 4 commits
  8. 10 Mar, 2014 7 commits
    • Joao Tavora's avatar
      Ignore ChangeLog files · 7d98fde9
      Joao Tavora authored
      7d98fde9
    • Joao Tavora's avatar
      Officially drop Emacs 23 support and other minor tweaks · 29135a50
      Joao Tavora authored
      * .travis.yml (env): Remove emacs23 check target
      
      * swank-loader.lisp (sly-version-string): Greps for version in
      sly.el.
      
      * sly.el: Rename existing "Slime" references to SLY. Just require
      `cl-lib' normally. Error out on Emacs versions <= 24.3.
      
      * contrib/sly-asdf.el (fboundp): Simplify fbound tricks for
      earlier Emacs version.
      
      * contrib/sly-fuzzy.el (sly-fuzzy-complete-symbol): Don't need to
      use `comint-filename-completion'.
      
      * doc/slime.texi (Platforms): Remove Emacs 23 support.
      29135a50
    • Joao Tavora's avatar
      Delete unused nregex.lisp · 71bdbca6
      Joao Tavora authored
      71bdbca6
    • Joao Tavora's avatar
      Version string is found in sly.el · bd855f1d
      Joao Tavora authored
      * sly.el: SLY's version is upcoming version is 1.0
      (sly-version): Renamed from `sly-changelog-date', greps for version
      in sly.el.
      (sly-protocol-version): use `sly-version'
      
      * swank-loader.lisp (sly-version-string): Greps for version in
      sly.el.
      bd855f1d
    • Joao Tavora's avatar
      SLDB debugger reuses previous windows · 7415878a
      Joao Tavora authored
      No more jumping debuggers around if you have more than 3 windows and
      choosing a restart pops another debugger.
      
      * sly.el: Only works with Emacs >= 24.3
      (sldb-setup): Use `sldb--display-in-prev-sldb-window'
      (sldb--display-in-prev-sldb-window): New function
      (sldb-exit): Remve Emacs23 hack
      7415878a
    • Joao Tavora's avatar
      Get rid of Changelog files · e8c3d74c
      Joao Tavora authored
      e8c3d74c
    • Joao Tavora's avatar
      Mass renamed SLIME -> SLY · e5f7cd82
      Joao Tavora authored
      e5f7cd82
  9. 09 Mar, 2014 3 commits
    • João Távora's avatar
      Merge capitaomorte/slime-el-cleanup · 284d8a32
      João Távora authored
      284d8a32
    • Joao Tavora's avatar
      Save and restore windows popping up debuggers in Emacs23 · 1ab1a406
      Joao Tavora authored
      * slime.el (sldb-setup): Save previous window.
      (sldb-exit): Restore.
      1ab1a406
    • João Távora's avatar
      Corrections after refactoring window-managing code · 17373f5a
      João Távora authored
      * slime-tests.el (narrowing): Use `quit-window'.
      
      * slime.el (slime-with-popup-buffer): Restore `mode' keyword arg,
      defaults to `fundamental-mode'. Compute package and connection in
      calling buffer.
      (slime-with-popup-buffer): Bind q to `quit-window'
      (slime-popup-buffer-quit): Remove it.
      (slime-show-compilation-log, slime-edit-value-callback)
      (slime-show-apropos, slime-with-xref-buffer)
      (slime-create-macroexpansion-buffer, slime-list-threads)
      (slime-list-connections, slime-inspector-buffer): Restore mode
      arg.
      (slime-goto-note-in-compilation-log): Fix search and recenter
      (slime-edit-value-commit, slime-goto-xref, sldb-exit)
      (sldb-close-step-buffer, slime-quit-threads-buffer)
      (slime-inspector-quit): Use `quit-window'
      (slime-show-source-location): Fix it.
      (sldb-show-frame-details): Fix it (sldb-recenter-region was gone).
      (slime-list-threads): Don't `local-set-key'.
      (slime-thread-control-mode-map): Bind `q' here.
      (slime-inspector-mode): Restore docstring.
      
      * contrib/slime-trace-dialog.el (slime-trace-dialog--open-detail): Restore
      `:mode' argument to `slime-with-popup-buffer'.
      
      * contrib/slime-clipboard.el (slime-clipboard-display-entries): idem
      
      * contrib/slime-compiler-notes-tree.el (slime-list-compiler-notes): idem
      
      * contrib/slime-sprof.el (slime-sprof-report): idem
      17373f5a
  10. 08 Mar, 2014 3 commits
    • Joao Tavora's avatar
      Redesign and simplify some window-managing code in slime.el · 92be40bc
      Joao Tavora authored
      * slime.el (slime-popup-restore-data): Delete it.
      (slime-with-popup-buffer): Remove `mode' arg. Redesign.
      (slime-make-popup-buffer,slime-init-popup-buffer)
      (slime-display-popup-buffer, slime-close-popup-window)
      (slime-save-local-variables): Remove these functions.
      (slime-popup-buffer-mode-map): Define this existing map
      separately.
      (slime-popup-buffer-mode): Don't use :keymap arg.
      (minor-mode-alist): Remove XEmacs hack
      (slime-popup-buffer-quit-function): Remove it
      (slime-popup-buffer-quit): Use `quit-window'
      (slime-show-compilation-log, slime-edit-value-callback)
      (slime-show-apropos, slime-with-xref-buffer)
      (slime-create-macroexpansion-buffer, slime-list-threads)
      (slime-list-connections, slime-inspector-buffer): Don't pass :mode
      arg to `slime-with-popup-buffer'.
      (slime-goto-note-in-compilation-log): Redesign and use `recenter'
      instead of `slime-show-buffer-position'.
      (slime-goto-next-xref): Don't use `slime-show-buffer-position'
      (sldb-setup): Use just `pop-to-buffer'
      (slime-show-buffer-position): Remove it.
      (sldb-recenter-region): Remove it.
      (slime-show-source-location): Use `select-window' and `recenter'.
      (slime-saved-window-config): Removed.
      (slime-inspector-quit): Don't use `slime-saved-window-config'
      (slime-inspector-mode): Enters `slime-popup-buffer-mode' minor
      mode.
      (slime-inspector-mode-map): Bind `q' to `slime-inspector-quit'.
      92be40bc
    • Joao Tavora's avatar
      Remove XEmacs portability layer and fix some FIXMEs · b9dfcba7
      Joao Tavora authored
      * slime.el (require): Don't require features active by default on
      GNU emacs.
      (slime-underline-color): Removed
      (slime-error-face, slime-warning-face, slime-note-face): Don't use
      `slime-underline-color'
      (slime-map-alist): Removed it
      (slime-indulge-pretty-colors): Removed it. Font locking done all
      in one place.
      (slime-rex, slime-start, sldb-in-face): Fix indentation.
      (slime-recompute-modelines, slime-xemacs-recompute-modelines)
      (slime-run-when-idle, minor-mode-alist)
      (slime-minibuffer-respecting-message)
      (slime-push-definition-stack, slime-pop-find-definition-stack):
      (slime-recompile-bytecode, slime-safe-encoding-p)
      (slime-connection-port, slime-xref-mode-map)
      (define-slime-contrib): Remove XEmacs hacks.
      (slime-define-channel-type, slime-define-channel-method)
      (when-let, slime-define-keys, with-struct)
      (slime-propertize-region, slime-with-rigid-indentation)
      (slime-with-connection-buffer, slime-def-connection-var)
      (slime-rex, slime-eval-async, slime-point-moves-p): Use`declare'
      form for indentation.
      (slime-connection): Use `slime-auto-start'.
      (slime-auto-connect): Renamed to `slime-auto-start'. Provide
      obsolete alias.
      (slime-dispatch-event): Don't use `slime-recompute-modelines'
      (slime-kill-all-buffers): Moved to contrib/slime-repl.el
      (slime-compile-file-options): Make `defcustom'
      (slime-file-name-merge-source-root)
      (slime-highlight-differences-in-dirname): Don't use
      `slime-split-string'
      (slime-complete-delay-restoration,slime-setup-command-hooks): Use
      `add-hook'
      (slime-complete-restore-window-configuration)
      (slime-xref-recompilation-cont): Add FIXME note.  note.
      (slime-xref-mode-map): Don't use interactive lambdas in keymap.
      (slime-xrefs): Rewrite to not use `slime-map-alist'
      (sldb-debugged-continuations): Simplify.
      b9dfcba7
    • Luís Oliveira's avatar
      slime-autodoc: don't print newline after the operator · 14114560
      Luís Oliveira authored
      Avoid adding a newline after things like with-open-file when
      doing multiline display. Fixes issue #7.
      
      * swank-arglists.lisp (print-decoded-arglist): Don't
        pprint-newline when adding a space after the operator.
      14114560
  11. 07 Mar, 2014 1 commit
    • Joao Tavora's avatar
      A fix and a tweak to the trace dialog · 89528e79
      Joao Tavora authored
      * contrib/slime-trace-dialog.el (slime-trace-dialog--open-detail): Fix
      "read-only" error when navigating to the trace details.
      (slime-trace-dialog--insert-trace): Nudge non-parent trace entries
      one "-" to the right to line up with others at the same level.
      89528e79