GNU bug report logs - #76498
(ert-deftest) has indentation of 13 by default

Previous Next

Package: emacs;

Reported by: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>

Date: Sun, 23 Feb 2025 10:04:02 UTC

Severity: minor

Full log


Message #10 received at 76498 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefankangas <at> gmail.com>
To: Konstantin Kharlamov <Hi-Angel <at> yandex.ru>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 76498 <at> debbugs.gnu.org,
 Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: Re: bug#76498: (ert-deftest) has indentation of 13 by default
Date: Sun, 2 Mar 2025 04:45:32 -0800
Konstantin Kharlamov <Hi-Angel <at> yandex.ru> writes:

> I'm writing tests for purescript-mode package, and I stumbled upon odd
> behavior: `ert-deftest` is spuriously indented to either 2 (expected)
> or 13 (unexpected).
>
> After digging into it, I found that if you `emacs -Q some-file-with-
> tests.el` and try to indent the second line after `ert-deftest`, you'll
> get size of 13. But if you `(require 'ert)` and try again you'll get 2.
>
> This is because, even though `ert-deftest` keyword is declared inside
> `lisp-mode.el`, but *indentation size* for it resides instead in
> `ert.el`, as part of "declare" statement of `ert-deftest` macro.
>
> This is definitely not expected. First of all, there's no reason for
> user to evaluate `(require 'ert)` while working with tests — you
> wouldn't want to experiment with tests in your working Emacs anyway.
> Which means you get incorrect indentation and left wondering what's
> happening. Second of all, `ert-deftest` as a keyword resides inside
> `lisp-mode.el` anyway, so what's the point of having the indentation
> set in a different place.
>
> Could we move the indentation size to `lisp-mode.el`, please?

I think this is a more general problem that applies to basically any
macro.  Instead of fixing this locally just for that one macro, maybe we
should make autoload pick up on that automatically (for autoloaded
macros)?

Eli, Stefan, WDYT?




This bug report was last modified 105 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.