Skip to content

Commit 6da7034

Browse files
committed
[Fix #313] pf doesn't understand %&
No tests are added because of a long standing bug in the test framework where use of `%s` triggers a 'wrong number of args passed to format' error.
1 parent 7e35bd1 commit 6da7034

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
### Bugs fixed
1414

15+
- [#313](https://github.com/clojure-emacs/clj-refactor.el/issues/313) `*data-readers*` teach `pf` about function literals using `%&`.
1516
- [#320](https://github.com/clojure-emacs/clj-refactor.el/issues/320) `*data-readers*` ignored when searching for macros.
1617

1718
## 2.2.0

clj-refactor.el

+4-2
Original file line numberDiff line numberDiff line change
@@ -2611,10 +2611,12 @@ See: https://github.com/clojure-emacs/clj-refactor.el/wiki/cljr-update-project-d
26112611
(cljr--goto-fn-definition)
26122612
(let ((fn-start (point))
26132613
var replacement)
2614-
(while (re-search-forward "%[1-9]?" (cljr--point-after 'paredit-forward) t)
2614+
(while (re-search-forward "%[1-9]?&?" (cljr--point-after 'paredit-forward) t)
26152615
(setq var (buffer-substring (point) (cljr--point-after 'paredit-backward)))
26162616
(setq replacement (read-string (format "%s => " var)))
2617-
(cljr--append-fn-parameter replacement)
2617+
(cljr--append-fn-parameter (if (string= "%&" var)
2618+
(format "& %s" replacement)
2619+
replacement))
26182620
(goto-char (1+ fn-start))
26192621
(let ((end (cljr--point-after '(paredit-forward-up 2))))
26202622
(while (re-search-forward (format "\\s-%s\\(\\s-\\|\\|\n)\\)" var)

0 commit comments

Comments
 (0)