clojure-emacs / clojure-emacs/clojure-mode

Reader conditional confuses indentation

Offen
#620 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug help wanted 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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.