• João Távora's avatar
    Improve "Copy Call to REPL" feature · 94c1e2e4
    João Távora authored
    * sly.el (sly-canonicalized-location, sly-choose-overlay-for-sexp)
    (sly--display-source-location, sly--pop-to-source-location)
    (sly-recompile-locations,sly-recompile-location): Use
    `sly-move-to-source-location'.
    (sly-move-to-source-location): Renamed from
    `sly--move-to-source-location'
    
    * sly.el (define-button-type sldb-frame): Default action is to
    toggle details.
    (sldb-frame-button): Extract spec and put it in the `part-args'
    property.
    
    * contrib/sly-mrepl.el (define-button-type sly-mrepl-part): rename
    `object-idx' to `entry-idx' for clarity.
    (sly-mrepl--copy-part-to-repl): New function just for copying REPL
    parts.
    (sly-mrepl--copy-to-repl-after): New buffer-local variable.
    (sly-mrepl--copy-objects-to-repl): New function for copying any
    object generically.
    (listener): Don't take `note' arg and execute
    `sly-mrepl--copy-objects-to-repl'
    (sly-mrepl--eval-for-repl): Better protocol.
    (sly-inspector-copy-part-to-repl, sldb-copy-part-to-repl)
    (sly-trace-dialog-copy-part-to-repl): Adapt to new protocol.
    (sly-mrepl--insert-call): Take a `spec' argument.
    (sly-trace-dialog-copy-call-to-repl): Use new protocol of
    `sly-mrepl--eval-for-repl'.
    (sly-mrepl-sync-package-and-default-directory): Set
    `sly-mrepl--copy-to-repl-after'.
    
    * contrib/sly-mrepl.el (:unfreeze-prompt): Remove frequently failing
    assertion assertion. Have to investigate.
    
    * contrib/sly-trace-dialog.el (sly-trace-dialog--shortcut-menu): Avoid compiler warning.
    (define-button-type sly-trace-dialog-spec): `part-args' property
    was simplified.
    
    * contrib/swank-mrepl.lisp (copy-values-to-repl): Don't take NOTE arg.
    (:sync-package-and-default-directory): Don't pass notes to
    COPY-VALUES-TO-REPL.
    (*saved-objects-note*): Removed.
    (globally-save-object): Don't set *SAVED-OBJECTS-NOTE*
    (:copy-to-repl): Simplified.
    
    * lib/lisp/swank-backend.lisp (frame-arguments): New interface.
    
    * lib/lisp/backend/swank-allegro.lisp (frame-arguments): New
    implementation of interface. Probably not very good.
    
    * lib/lisp/backend/swank-ccl.lisp (frame-call): Removed implementation.
    
    * lib/lisp/backend/swank-sbcl.lisp (frame-call): Removed implementation.
    94c1e2e4