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. 11 Apr, 2014 14 commits
    • Joao Tavora's avatar
      Inspecting * in contrib/sly-old-repl.el no longer uses second-to-last value · 6cc250b0
      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
      6cc250b0
    • Joao Tavora's avatar
      More adjustments to find-definition in ACL backend · a23b2da8
      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
      a23b2da8
    • João Távora's avatar
      Adjust previous change to finding definitions in ACL backend. · 32c4f9c6
      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
      32c4f9c6
    • Paulo Madeira's avatar
      Improve source file recording for ACL backend. · b009e5c5
      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
      b009e5c5
    • Helmut Eller's avatar
      * Makefile (test): Fix typo. · 403d2b3e
      Helmut Eller authored
      (cherry picked from SLIME commit
      821d0326)
      403d2b3e
    • Helmut Eller's avatar
      Run tests interactively with "make test" · b41f3c99
      Helmut Eller authored
      * Makefile (test): New target.
      
      (cherry picked from SLIME commit
      4203b5f3)
      
      Conflicts:
      	ChangeLog
      	Makefile
      b41f3c99
    • Helmut Eller's avatar
      Make it easier to specify regexps as test selector. · 31c2546c
      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
      31c2546c
    • Helmut Eller's avatar
      Fix bug in sly-complete-restore-window-configuration. · 3f041a02
      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
      3f041a02
    • Helmut Eller's avatar
      * sly-tests.el (read-from-minibuffer): New test. · b50e0b9f
      Helmut Eller authored
      (cherry picked from SLIME commit 2c8e6a65)
      
      Conflicts:
      	ChangeLog
      	sly-tests.el
      b50e0b9f
    • Joao Tavora's avatar
      Ignore fasl extension variations · f78bc22b
      Joao Tavora authored
      f78bc22b
    • João Távora's avatar
      Recenter debugger buffer on long conditions and variable lists · ed3f37e9
      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
      ed3f37e9
    • Joao Tavora's avatar
      Make connection and thread lists read-only again · 5e4862d4
      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
      5e4862d4
    • Paulo Madeira's avatar
      Fix Allegro CL backend problem with temporary files. · d0fa85bd
      Paulo Madeira authored
      * swank-allegro.lisp (swank-compile-string): Don't bind
      *default-pathname-defaults*.
      
      (cherry picked from SLIME commit
      fc001b63)
      
      Conflicts:
      	ChangeLog
      d0fa85bd
    • João Távora's avatar
      Debugger's "copy down to repl" more useful · d5c49066
      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.
      d5c49066
  2. 24 Mar, 2014 1 commit
    • João Távora's avatar
      Minor fix to sly-mrepl.el · 72a3568b
      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.
      72a3568b
  3. 21 Mar, 2014 1 commit
    • Joao Tavora's avatar
      Enhancements to prompting in sly-mrepl · bea5b077
      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)
      bea5b077
  4. 19 Mar, 2014 7 commits
    • Joao Tavora's avatar
      Minor tweaks to sly.el · 34a9059d
      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'.
      34a9059d
    • Joao Tavora's avatar
      Add persistent history to sly-mrepl · 371e7b80
      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*.
      371e7b80
    • Joao Tavora's avatar
      Stability fixes in sly-mrepl · 84acffd2
      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.
      84acffd2
    • João Távora's avatar
      Imitate legacy REPL output mangling. · a06b4a01
      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.
      a06b4a01
    • João Távora's avatar
      Redirect other streams. · 1348d690
      João Távora authored
      Hopefully they will mingle correctly with the dedicated stream.
      
      * swank-mrepl.lisp (initial-listener-env): Redirect the other
      streams.
      1348d690
    • João Távora's avatar
      Fix mode byte-compiler warnings · 6d3f2270
      João Távora authored
      Contribs that requires `sly-repl' now require `sly-old-repl' instead.
      6d3f2270
    • 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
  5. 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
  6. 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
  7. 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
  8. 14 Mar, 2014 2 commits