That doesn’t make any sense. WSL is not a headless Linux.
db48x
Just run the native Windows binary of Emacs. It uses the native Windows font rendering APIs, so the text should end looking the same as it does in other Windows applications (assuming it's the same font and size, of course). The Linux version that you’re running uses a completely different font renderer, so it will be very hard to make it match exactly.
Mostly they just aren’t a problem. If you write a function A that calls some function B that doesn’t exist yet, you might get a warning. It’ll say something like “B is not known to be defined”. But the key thing to remember is that it doesn’t really care about B yet, not until you actually call A. Only then will it resolve B, checking to see if it is a real function or not, and then call it or error out.
But since most people get annoyed by warnings, they would ensure that A and B are in the same file. JDRiverRun also suggests using decare-function
. If you read the docstring for that (using C-h f
), you‘d get a link to chapter 13.16 Telling the Compiler that a Function is Defined of the Emacs Lisp Manual which describes some of the scenarios where it is useful.
That’s exactly why it’s not headless.