|
From: | Alexander Shukaev |
Subject: | bug#21922: bug#27646: Bug: Emacs Lisp Indentation |
Date: | Fri, 17 Jan 2020 21:26:49 +0100 |
On 17/01/2020 18:58, Noam Postavsky wrote:
tags 27646 - moreinfo unreproducible forcemerge 21922 27646 quit Alexander Shukaev <emacs@Alexander.Shukaev.name> writes:to the "*scratch*" buffer and indent to observe the following result (dolist (symbol '(ignore-errors xxx yyy))) The reason why this happens is because `ignore-errors' is a macro that has (declare (indent defun)) Any other macro with the same declaration whose innocent symbol is used as the first element in a list would reproduce the above indentation bug. Backquote is also affected.That's Bug#21922, although the backquoted case is intentional (e.g., for writing code in macros).
I use the following trick right now: (dolist (symbol '(; ignore-errors xxx yyy)))Since it's impossible to resolve that issue reliably and for all cases including backquote, I propose to introduce some special comment (aka ;###list) format to indicate that this is a list rather than code to be evaluated. In different contexts the same code could be desired to be treated differently namely either as data or as to be evaluated.
[Prev in Thread] | Current Thread | [Next in Thread] |