clojure-emacs / clojure-emacs/clojure-mode
Reader conditional confuses indentation
- Langage dominant
- Emacs Lisp
- Étoiles
- 1k
- Forks
- 249
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
## 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
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Reproduisez la différence d'indentation dans clojure-mode en utilisant align-arguments et always-align, puis suivez la gestion de l'indentation pour la reader conditional #?@. Confirmez le correctif avec l'exemple de reify fourni afin que les branches Clojure et ClojureScript correspondent toutes deux à l'indentation attendue.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- clojure, emacs-lisp
- Domaine
- developer-experience, tooling
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100