branch: elpa/clojure-ts-mode commit 43f7a675c246f99ad4ae896be61511a537e8b773 Author: Roman Rudakov <rruda...@fastmail.com> Commit: Bozhidar Batsov <bozhi...@batsov.dev>
[CI] Fix compilation for Emacs-30 --- CHANGELOG.md | 3 ++- clojure-ts-mode.el | 18 +++++++++--------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 369b28e9c3..859ff7389d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## main (unreleased) -- Add a dedicated mode for editing Joker code. (`clojure-ts-joker-mode`) +- Add a dedicated mode for editing Joker code. (`clojure-ts-joker-mode`). +- [#113](https://github.com/clojure-emacs/clojure-ts-mode/pull/113): Fix non-working refactoring commands for Emacs-30. ## 0.5.1 (2025-06-17) diff --git a/clojure-ts-mode.el b/clojure-ts-mode.el index ca3f9a77d0..9677f47163 100644 --- a/clojure-ts-mode.el +++ b/clojure-ts-mode.el @@ -1129,8 +1129,8 @@ See `clojure-ts--standard-definition-node-name' for the implementation used.") (defun clojure-ts--outline-level () "Return the current level of the outline heading at point." - (let* ((node (treesit-outline--at-point)) - (node-text (treesit-node-text node))) + (when-let* ((node (treesit-thing-at (point) #'clojure-ts--outline-predicate)) + (node-text (treesit-node-text node))) (string-match ";;\\(;+\\) " node-text) (- (match-end 1) (match-beginning 1)))) @@ -1873,7 +1873,7 @@ between BEG and END." ;; We have to disable it here to avoid endless recursion. (clojure-ts-align-forms-automatically nil)) (save-excursion - (indent-region beg end) + (indent-region beg (marker-position end)) (dolist (sexp sexps-to-align) ;; After reindenting a node, all other nodes in the `sexps-to-align' ;; list become outdated, so we need to fetch updated nodes for every @@ -1893,7 +1893,7 @@ between BEG and END." ;; After every iteration we have to re-indent the s-expression, ;; otherwise some can be indented inconsistently. (indent-region (marker-position (plist-get sexp :beg-marker)) - (plist-get sexp :end-marker)))) + (marker-position (plist-get sexp :end-marker))))) ;; If `clojure-ts-align-separator' is used, `align-region' leaves trailing ;; whitespaces on empty lines. (delete-trailing-whitespace beg (marker-position end))))) @@ -2114,7 +2114,7 @@ With universal argument \\[universal-argument], fully unwinds thread." (clojure-ts--pop-out-of-threading) (clojure-ts--fix-sexp-whitespace) (setq n 0)))) - (indent-region beg end) + (indent-region (marker-position beg) (marker-position end)) (delete-trailing-whitespace beg end))) (user-error "No threading form to unwind at point"))) @@ -2191,7 +2191,7 @@ cannot be found." (clojure-ts--thread-first)) ((string-match-p (rx bol (* "some") "->>" eol) sym) (clojure-ts--thread-last))) - (indent-region beg end) + (indent-region (marker-position beg) (marker-position end)) (delete-trailing-whitespace beg end) t) (when called-by-user-p @@ -2383,7 +2383,7 @@ type, etc. See `treesit-thing-settings' for more details." (string= parent-def-sym "extend-protocol")) (clojure-ts--add-arity-reify-internal fn-node)) (t (clojure-ts--add-arity-internal fn-node))) - (indent-region beg-marker end-marker)) + (indent-region (marker-position beg-marker) (marker-position end-marker))) (user-error "No suitable form to add an arity at point"))) (defun clojure-ts-cycle-keyword-string () @@ -2496,7 +2496,7 @@ before DELIM-OPEN." (when (member cond-sym '("if" "if-not")) (forward-sexp 2) (transpose-sexps 1)) - (indent-region beg end-marker))) + (indent-region beg (marker-position end-marker)))) (user-error "No conditional expression found"))) (defun clojure-ts-cycle-not () @@ -2512,7 +2512,7 @@ before DELIM-OPEN." (clojure-ts--raise-sexp) (insert-pair 1 ?\( ?\)) (insert "not ")) - (indent-region beg end-marker) + (indent-region beg (marker-position end-marker)) ;; `save-excursion' doesn't work well when point is at the opening ;; paren. (goto-char pos))