From af93884e7f6524cc9fd93d2bde65a8fd6a079ddc Mon Sep 17 00:00:00 2001 From: Artur Malabarba Date: Mon, 29 Feb 2016 10:26:52 -0300 Subject: [Fix #1593] Don't move point in cider-symbol-at-point --- cider-util.el | 9 +++++---- test/cider-util-tests.el | 12 ++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 test/cider-util-tests.el diff --git a/cider-util.el b/cider-util.el index b326fec6..e59baf79 100644 --- a/cider-util.el +++ b/cider-util.el @@ -116,10 +116,11 @@ find a symbol if there isn't one at point." (unless (text-property-any 0 (length str) 'field 'cider-repl-prompt str) str)) (when look-back - (ignore-errors - (while (not (looking-at "\\sw\\|\\s_\\|\\`")) - (forward-sexp -1))) - (cider-symbol-at-point)))) + (save-excursion + (ignore-errors + (while (not (looking-at "\\sw\\|\\s_\\|\\`")) + (forward-sexp -1))) + (cider-symbol-at-point))))) ;;; sexp navigation diff --git a/test/cider-util-tests.el b/test/cider-util-tests.el new file mode 100644 index 00000000..0ea18864 --- /dev/null +++ b/test/cider-util-tests.el @@ -0,0 +1,12 @@ +(require 'cider) +(require 'cider-util) +(require 'ert) + +;;; cider-util tests +(ert-deftest cider-symbol-at-point-dont-move () + (with-temp-buffer + (clojure-mode) + (insert "something else\n") + (should (not (cider-symbol-at-point))) + (should (equal "else" (cider-symbol-at-point 'lookback))) + (should (= (point) (point-max))))) -- cgit v1.2.3