clojure-emacs / clojure-emacs/clojure-mode
clojure-fill-paragraph won't break lines at the space in `word :word`
- Dominant language
- Emacs Lisp
- Stars
- 1k
- Forks
- 249
- PR merge metrics
- No merged PRs in 30d
Description
I noticed a, to me, weird behavior of `clojure-fill-paragraph`. I was listing keyword arguments in a docstrsing, and when I tried to fill it I ended up with something similar to the screenshot below. I tracked it down to the extra stuff that it is adding to `paragraph-start`, i.e. this code:
```
(let ((paragraph-start
(concat paragraph-start
"\\|\\s-*\\([(:\"[]\\|~@\\|`(\\|#'(\\)"))
```
I don't understand why the regexp is like that, but I don't like the current result.
## Expected behavior
`clojure-fill-paragraph` can break lines at the space in `word :word`.
## Actual behavior

## Steps to reproduce the problem
Try to fill the docstring in
```
(defn some-function
"word word word word word word word word word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word :word word word word word word word word word word word word word word word word word word word word word word word word"
[])
```
## Environment & Version information
### clojure-mode version 5.13
Contributor guide
Research direction
Search for the clojure-fill-paragraph entry point and the paragraph-start customization shown in the issue. Reproduce the documented Clojure function example, then verify that filling can break at the space in `word :word` without regressing the other listed delimiters.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure, emacs-lisp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100