From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Towards a cleaner build Date: Sun, 09 Jun 2019 14:33:13 -0400 Message-ID: References: <83zhn6zkgf.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="133750"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jun 09 20:34:33 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1ha2eG-000Yfg-CZ for ged-emacs-devel@m.gmane.org; Sun, 09 Jun 2019 20:34:32 +0200 Original-Received: from localhost ([::1]:37396 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1ha2eF-0002ct-Ey for ged-emacs-devel@m.gmane.org; Sun, 09 Jun 2019 14:34:31 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48598) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1ha2d7-0002cl-L4 for emacs-devel@gnu.org; Sun, 09 Jun 2019 14:33:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ha2d6-0004Q8-Oy for emacs-devel@gnu.org; Sun, 09 Jun 2019 14:33:21 -0400 Original-Received: from [195.159.176.226] (port=48504 helo=blaine.gmane.org) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ha2d6-0004Pj-Hx for emacs-devel@gnu.org; Sun, 09 Jun 2019 14:33:20 -0400 Original-Received: from list by blaine.gmane.org with local (Exim 4.89) (envelope-from ) id 1ha2d4-000XSK-Qx for emacs-devel@gnu.org; Sun, 09 Jun 2019 20:33:18 +0200 X-Injected-Via-Gmane: http://gmane.org/ Cancel-Lock: sha1:16eVo2kxkgnYHH2/LCJErQFWsmo= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 195.159.176.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:237359 Archived-At: >> 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