[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: |
Thu, 08 Nov 2018 09:52:51 +0000 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Michael Heerdegen <michael_heerdegen@web.de> writes:
> Noam Postavsky <npostavs@gmail.com> writes:
>
>> > (cond (bla
>> > ok)
>> > (defan
>> > strange))
>
> That's explicitly done in 'lisp-indent-function':
> (and (null method)
> (> (length function) 3)
> (string-match "\\`def" function))) ;; <==
Ah, that's unfortunate. Still, coundn't we improve the heuristic by
asking if the "function" has a macro definition? Isn't that closer to
the intended behaviour?
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index afb7cbd1dd..e7373ece85 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -1104,7 +1104,8 @@ lisp-indent-function
(cond ((or (eq method 'defun)
(and (null method)
(> (length function) 3)
- (string-match "\\`def" function)))
+ (string-match "\\`def" function)
+ (macrop (intern function))))
(lisp-indent-defform state indent-point))
((integerp method)
(lisp-indent-specform method state
João
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", João Távora, 2018/11/07
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Noam Postavsky, 2018/11/07
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Michael Heerdegen, 2018/11/07
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..",
João Távora <=
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Michael Heerdegen, 2018/11/08
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", João Távora, 2018/11/08
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Michael Heerdegen, 2018/11/08
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", João Távora, 2018/11/09
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Michael Heerdegen, 2018/11/09
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Noam Postavsky, 2018/11/09
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", João Távora, 2018/11/09
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Michael Heerdegen, 2018/11/09
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", João Távora, 2018/11/10
- bug#33301: 27.0.50; broken elisp indentation for non-definition symbols starting with "def..", Andreas Schwab, 2018/11/10