emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Towards a cleaner build


From: Stefan Monnier
Subject: Re: Towards a cleaner build
Date: Sun, 09 Jun 2019 14:33:13 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

>> The warning can be suppressed with (ignore foo), so I guess
>>
>> (defun bar (foo)
>>   (with-suppressed-warnings ((unused foo))
>>     nil))
>>
>> Could expand to
>>
>> (defun bar (foo)
>>   (progn
>>     (ignore foo)
>>     nil))
>>
>> Although that does mean you have make sure to only use that within the
>> scope of foo.

Usually a better option is to use `_foo` instead of `foo`.

> By the way, this reminds me: Is there any reason why
> (declare (ignore foo)) isn't supported?

Sounds verbose.  Furthermore, the `declare` we have in Elisp is
a declaration that relates to the function/macro being defined rather
than to some chunk of code (it has to come together with the docstring
and the interactive spec).  It's related to yet different from that of
Common Lisp.

> We've embraced `declare' for other things, so I think it makes sense
> to do that for `ignore', too.  (And perhaps then later mark simple
> `ignore' as obsolete.)

`ignore` is a normal function used for various different things.
The fact that it can be used to silence this warning is just a happy
coincidence.

    grep "#'ignore" **/*.el | wc
    
gives me more than a hundred reasons not to mark it obsolete ;-)


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]