clojure-emacs / clojure-emacs/clojure-mode

Reader conditional confuses indentation

Ouverte
#620 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
bug help wanted 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.