@@ -2684,17 +2684,21 @@ lists up."
2684
2684
(insert sexp)
2685
2685
(clojure--replace-sexps-with-bindings-and-indent)))
2686
2686
2687
- (defun clojure--collect-ns-aliases ()
2688
- " Collect all aliases in current ns form."
2689
- (save-excursion
2690
- (clojure--find-ns-in-direction 'backward )
2691
- (let ((end (cdr (bounds-of-thing-at-point 'list )))
2692
- (rgx (rx " :as" (+ space)
2693
- (group-n 1 (+ (not (in " ,]\n " ))))))
2694
- (res ()))
2695
- (while (re-search-forward rgx end 'noerror )
2696
- (push (match-string-no-properties 1 ) res))
2697
- res)))
2687
+ (defun clojure-collect-ns-aliases (ns-form )
2688
+ " Collect all namespace aliases in NS-FORM."
2689
+ (with-temp-buffer
2690
+ (delay-mode-hooks
2691
+ (clojure-mode)
2692
+ (insert ns-form)
2693
+ (goto-char (point-min ))
2694
+ (let ((end (point-max ))
2695
+ (rgx (rx " :as" (+ space)
2696
+ (group-n 1 (+ (not (in " ,]\n " ))))))
2697
+ (res ()))
2698
+ (while (re-search-forward rgx end 'noerror )
2699
+ (unless (or (clojure--in-string-p) (clojure--in-comment-p))
2700
+ (push (match-string-no-properties 1 ) res)))
2701
+ res))))
2698
2702
2699
2703
(defun clojure--rename-ns-alias-internal (current-alias new-alias )
2700
2704
" Rename a namespace alias CURRENT-ALIAS to NEW-ALIAS."
@@ -2759,15 +2763,17 @@ With a numeric prefix argument the let is introduced N lists up."
2759
2763
(defun clojure-rename-ns-alias ()
2760
2764
" Rename a namespace alias."
2761
2765
(interactive )
2762
- (let ((current-alias (completing-read " Current alias: " (clojure--collect-ns-aliases))))
2763
- (save-excursion
2764
- (clojure--find-ns-in-direction 'backward )
2765
- (let ((rgx (concat " :as +" current-alias))
2766
- (bound (save-excursion (forward-list 1 ) (point ))))
2767
- (if (save-excursion (search-forward-regexp rgx bound t ))
2768
- (let ((new-alias (read-from-minibuffer " New alias: " )))
2769
- (clojure--rename-ns-alias-internal current-alias new-alias))
2770
- (message " Cannot find namespace alias: '%s ' " current-alias))))))
2766
+ (save-excursion
2767
+ (clojure--find-ns-in-direction 'backward )
2768
+ (let* ((current-alias (completing-read " Current alias: "
2769
+ (clojure-collect-ns-aliases
2770
+ (save-excursion (thing-at-point 'list )))))
2771
+ (rgx (concat " :as +" current-alias))
2772
+ (bound (save-excursion (forward-list 1 ) (point ))))
2773
+ (if (save-excursion (search-forward-regexp rgx bound t ))
2774
+ (let ((new-alias (read-from-minibuffer " New alias: " )))
2775
+ (clojure--rename-ns-alias-internal current-alias new-alias))
2776
+ (message " Cannot find namespace alias: '%s ' " current-alias)))))
2771
2777
2772
2778
(defun clojure--add-arity-defprotocol-internal ()
2773
2779
" Add an arity to a signature inside a defprotocol.
0 commit comments