GNU bug report logs - #33301
27.0.50; broken elisp indentation for non-definition symbols starting with "def.."

Previous Next

Package: emacs;

Reported by: João Távora <joaotavora <at> gmail.com>

Date: Wed, 7 Nov 2018 13:22:02 UTC

Severity: minor

Tags: confirmed, moreinfo

Merged with 43329

Found in versions 24.3, 27.0.50, 28.0.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: João Távora <joaotavora <at> gmail.com>
Cc: 33301 <at> debbugs.gnu.org, Noam Postavsky <npostavs <at> gmail.com>
Subject: Re: bug#33301: 27.0.50;
 broken elisp indentation for non-definition symbols starting with
 "def.."
Date: Fri, 09 Nov 2018 01:13:20 +0100
João Távora <joaotavora <at> gmail.com> writes:

> 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

If that macro is defined, shouldn't it already be indented correctly
without heuristics?

Michael.




This bug report was last modified 3 years and 275 days ago.

Previous Next


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