unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#65063: 30.0.50; Macro indentation in emacs-lisp-mode when the macro definition is not yet loaded
@ 2023-08-05  6:29 Ihor Radchenko
  0 siblings, 0 replies; only message in thread
From: Ihor Radchenko @ 2023-08-05  6:29 UTC (permalink / raw)
  To: 65063

Consider the following:

1. File yant-test.el
(defmacro yant/test (param &rest body)
  ""
  (declare (indent 1))
  `(let ((foo ,param))
     ,@body))

(provide 'yant-test)

2. Put this file into the load-path, but do not load.

3. File yant-test2.el

(require 'yant-test)

(yant/test 1
	   (+ 1 2))

In the above file, M-x indent-region on the macro call will yield the
above, incorrect, indentation.

Expected:

(yant/test 1
  (+ 1 2))

I am not sure if there is a clean solution to this problem, but it has
been bugging me for quite some time now, especially when I use
aggressive-indent-mode that messes up indentation in the whole file in
such scenario.

In GNU Emacs 30.0.50 (build 5, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.17.8) of 2023-08-04 built on localhost
Repository revision: ce48073f1597ceecb82800e71c89b53badc9f9d0
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Gentoo Linux


-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>





^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-08-05  6:29 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-05  6:29 bug#65063: 30.0.50; Macro indentation in emacs-lisp-mode when the macro definition is not yet loaded Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).