Subject: bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def.."

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 23 Aug 2020 14:26:46 +0200

João Távora <[email-masked]> writes:

> I wouldn't count 34 as "oodles" and don't think a new line for each
> occurrence of what is essentially a breach of convention is a high
> price to pay. Even converting some of those to macros or "make-foo"
> could be worth it if it would enable non-surprising indentation.

Changing functions to macros, or renaming functions from def* to make*,
just because we have a slightly odd heuristic in Emacs Lisp mode doesn't
sound quite right to me.

> As for the problem of needing to load macros before indenting forms
> where they appears, that's already very much a thing. We wouldn't be
> creating new problems there, it's just the way it is.

That's true, but it would exacerbate the problem.  But the main problem
is that it would indent the code differently than it does now, and that
leads to whitespace churn in the vc, which we should avoid unless we
have a very, very good reason not to.  And this just doesn't seem like a
good enough reason...

> As for out-of-tree definitions, we could be lenient and have this
> saner indentation be controlled by a variable which we would default
> to 'insane, but to 'sane inside Emacs's source, via directory local
> variables.

I'd be against that -- again, because it leads to whitespace VC churn.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no