clojure-emacs / clojure-emacs/clojure-mode
Reader conditional confuses indentation
- Vorherrschende Sprache
- Emacs Lisp
- Sterne
- 1k
- Forks
- 249
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
## Expected behavior
```clj
(reify
Object
#?@(:clj
[(equals
[this other])
(hashCode
[_]
(hash 1))]
:cljs
[(toJSON
[this]
(throw (ex-info "error" {})))
IEquiv
(-equiv
[this other]
true)]))
```
## Actual behavior
```clj
(reify
Object
#?@(:clj
[(equals
[this other]) ; <------
(hashCode
[_]
(hash 1))]
:cljs
[(toJSON
[this] ; <------
(throw (ex-info "error" {})))
IEquiv
(-equiv
[this other]
true)]))
```
## Steps to reproduce the problem
`(setq clojure-indent-style 'align-arguments)`
(But the problem is the same with `'always-align`.)
Paste in a buffer and indent.
(C-x h TAB)
## Environment & Version information
### clojure-mode version
`M-x
clojure-mode-display-version`
clojure-mode (version nil)
When checking in packages:
20220418.2015
### Emacs version
28.1
### Operating system
Ubuntu 18.04.6 LTS
Beitragsleitfaden
Rechercherichtung
Reproduziere den Einrückungsunterschied in clojure-mode mit align-arguments und always-align und verfolge anschließend die Einrückungsbehandlung für die #?@ reader conditional. Bestätige den Fix anhand des bereitgestellten reify-Beispiels, sodass sowohl die Clojure- als auch die ClojureScript-Zweige der erwarteten Einrückung entsprechen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- clojure, emacs-lisp
- Bereich
- developer-experience, tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100