clojure-emacs / clojure-emacs/clojure-mode
Reader conditional confuses indentation
- Lenguaje dominante
- Emacs Lisp
- Estrellas
- 1k
- Forks
- 249
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
## 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
Guía de contribución
Línea de trabajo
Reproduce la diferencia de indentación en clojure-mode usando align-arguments y always-align, y luego rastrea el manejo de la indentación para la reader conditional #?@. Confirma la corrección con el ejemplo de reify proporcionado, de modo que tanto las ramas de Clojure como de ClojureScript coincidan con la indentación esperada.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- clojure, emacs-lisp
- Área
- developer-experience, tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100