Skip to content

[Feature]: lint elpaca macro BODY #158

@elizagamedev

Description

@elizagamedev

Elpaca Version

Elpaca a216ca8 HEAD -> master, origin/master, origin/HEAD
installer:      0.5
emacs-version:  GNU Emacs 29.0.92 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.16.0)
git --version:  git version 2.40.1

Operating System

Linux, nixOS

Description

To reproduce, just enable flymake in an elisp buffer on a recent-ish version of Emacs and write some nonsense forms in an (elpaca ...) macro call. The documentation isn't really clear when elisp-flymake-byte-compile was added so I'm not sure of the specific version.

The issue seems to be that the form isn't compiled at compile time, which makes sense, given that the package might not exist at compile time. The only way I think this could be fixed is if the elpaca macro detected that it's being evaluated in the context of elisp-flymake-byte-compile and the entire macro short-circuited into something like...

(require foo nil t)
(body...)

...which would introduce the misconception to the byte compiler that that package is now available past that (elpaca ...) call, but it's better than nothing.

I'm not sure if this is out of the scope of elpaca or not, or if it should be considered a bug report or a feature request. I feel like perhaps I'm a minority for using flymake with elisp instead of flycheck. I might also try fixing this myself, but I wanted to at least report a bug with my assumptions in case I'm not alone here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions