[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Ann]: An Implementation of the Shen programming language in Elisp a
From: |
Stefan Monnier |
Subject: |
Re: [Ann]: An Implementation of the Shen programming language in Elisp and a call for help |
Date: |
Sat, 14 May 2016 09:29:01 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) |
> 1. I can't seem to get rid of warnings when byte-compiling the generated
> "shen.el" [4] even though I have the byte-compile-warnings property the top
> of the file. I'm getting a lot of "unused lexical variable" warnings even
> though "lexical" is in the list of warnings.
I strongly dislike disabling warnings via byte-compile-warnings, so
while I'm sure it can be done, I'd rather not help you with this.
"Unused variable/argument" warnings can be disabled individually in the
following ways (by order of preference):
- Get rid of those variables/arguments.
- Add an underscore in front of the variable name (that tells the
byte-compiler that the variable *should not* be used).
- Add an artificial use of the variable. The canonical way to do that
is to add a call (ignore <var>) somewhere harmless. E.g.
(let ((foo <mycode>))
(ignore foo)
<restofthecode>)
> 2. I would like for the "shen.el" and "shen-primitives.el" [5] file to be
> byte-compiled and loaded right after compilation even though they don't
> have any autoloads. Currently they are only loaded with I call the function
> `shen/repl` [6] which doesn't feel very responsive. Ideally they are loaded
> at the time they are compiled.
Compilation should happen once and for all when you install your
package, so whether it's loaded right away at that point or not is not
tremendously important, compared to how the package should be
(auto)loaded in the other cases, when the package is already installed.
IOW I don't understand what you want here.
Stefan