bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#33301: 27.0.50; broken elisp indentation for non-definition symbols


From: João Távora
Subject: bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def.."
Date: Sat, 22 Aug 2020 17:19:25 +0100

Hi Lars, thanks for your review of old bugs.

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.

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.

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.

So I don't think we should throw in the towel on this one.

João

On Sat, Aug 22, 2020, 15:58 Lars Ingebrigtsen <larsi@gnus.org> wrote:
João Távora <joaotavora@gmail.com> writes:

> -                     (string-match "\\`def" function)))
> +                     (string-match "\\`def" function)
> +                        (or (not (derived-mode-p 'emacs-lisp-mode))
> +                            (macrop (intern function)))))

As others noted, this means that indentation changes when you've
loaded/not loaded the file that defines the macro, which may be
awkward.  But also, as your grep showed, there's oodles of functions in
Emacs the define stuff, and you'd have to add indentation specs to all
of them.  And that doesn't take out-of-tree definitions into account.

So I don't really see how this can be fixed in any sensible way --
changing this heuristic will just annoy more than it fixes things, I
think.

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]