Skip to content

Conversation

alexander-yakushev
Copy link
Member

@alexander-yakushev alexander-yakushev commented Mar 20, 2025

This PR removes features that depended on the now removed analyze-stacktrace op which used Haystack parsing functionality:

  • Manual cider-stacktrace-analyze-string and cider-stacktrace-analyze-at-point functions.
  • Automatic stacktrace parsing in log viewer.

To replace this functionality, the latest cider-nrepl now provides much better ability to jump to functions and methods printed in the stacktrace (see clojure-emacs/orchard#320). I went through examples/tests in Haystack repository, and the improved Orchard can jump to most of them directly from any buffer, including REPL, e.g.:

clojure.lang.AFn.applyToHelper clojure.lang.Compiler$InvokeExpr.eval nrepl.middleware.interruptible-eval/evaluator/fn/fn clojure.main/repl/read-eval-print/fn clojure.core$eval.invokeStatic clojure.core$with_bindings_STAR_.doInvoke clojure.main$repl$read_eval_print__9110$fn__9113.invoke 

  • You've updated the changelog (if adding/changing user-visible functionality)
  • You've updated the user manual (if adding/changing user-visible functionality)
((and (member "done" status) causes)
(cider-stacktrace--analyze-render causes)))))))))

(defun cider-stacktrace-analyze-at-point ()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's good to replace these obsolete commands with some message explaining why there were removed. I don't think they had many users, being relatively new, but adding a message like "Use x instead" is never a bad idea IMO.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point! Will do.

Copy link
Member

@bbatsov bbatsov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, sans my small remark that it might be a good idea to convert the remove interactive commands to just a message saying that users are supposed to use something else instead. (before we fully remove them a few releases down the road) You can also gut them and use make-obsolete https://www.gnu.org/software/emacs/manual/html_node/elisp/Obsolete-Functions.html

@alexander-yakushev alexander-yakushev force-pushed the remove-analyze-stacktrace branch 3 times, most recently from 7f18e06 to 6b864a7 Compare March 26, 2025 17:10
@alexander-yakushev alexander-yakushev force-pushed the remove-analyze-stacktrace branch from 6b864a7 to ebc50b8 Compare March 26, 2025 17:12
@alexander-yakushev alexander-yakushev merged commit 2865e66 into master Mar 26, 2025
18 checks passed
@alexander-yakushev alexander-yakushev deleted the remove-analyze-stacktrace branch March 26, 2025 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants